详情页标题前

阿里云云原生大数据计算服务 MaxCompute通过跨项目数据访问实现不同地域MaxCompute项目数据迁移-云淘科技

详情页1

本文为您介绍如何通过跨项目数据访问实现不同Region的MaxCompute项目数据迁移,包括两种使用场景:同云账号内不同Region的项目数据迁移;不同云账号间不同Region的项目数据迁移。

使用限制

此方案只支持在中国内地地域间实现不同地域间的MaxCompute项目数据迁移,不支持在除中国内地地域以外的地域间使用。

同云账号内不同Region的项目数据迁移

将源项目(projectA)的表数据迁移至目标项目(projectB),且云账号内的项目Owner为同一个阿里云账号。

  • 阿里云账号操作,可直接进入目标项目,创建目标表:

    创建新表的同时复制数据

    --进入目标项目projectB;
    use projectB;
    
    set odps.namespace.schema=false;
    --基于projectA内的数据源表创建新表并复制数据。
    create table [if not exists]  [lifecycle ] as select * from projectA.
    ;

    创建新表后再复制数据

    --进入目标项目projectB;
    use projectB;
    
    set odps.namespace.schema=false;
    --基于数据源表创建具备相同结构的新表但不复制数据。
    create table [if not exists] 
    like projectA.
    [lifecycle ]; --将数据源表的数据写入目标项目中的新表: insert {into|overwrite} table
    [partition ()] [([,...)]] select * from projectA.
    [zorder by [, ...]];

    更多创建表操作请参见表操作。

  • 非阿里云账号(RAM用户或RAM角色)操作,需要确保数据源项目状态为正常,且操作人拥有数据源项目源表的Select操作权限及目标项目的CreateInstanceCreateTable权限,授权操作请参见通过控制台(新版)管理用户权限。数据源项目源表的Select操作权限可以通过两种方式获取:

    • 方式一:将RAM账号添加至数据源项目A(操作见用户规划与管理),并授予需要访问的资源的权限(授权办法见通过命令管理用户权限),即可实现RAM账号对数据源表的访问。

    • 方式二:基于Package授权机制实现跨Region访问项目。阿里云账号将数据源项目A内的资源打包为PackageA,并设置允许目标项目projectB安装,项目projectB安装此PackageA后,对项目projectB内的操作人账号授予PackageA的读取权限。具体操作办法见基于Package跨项目访问资源。

  • 不同云账号间不同Region的项目数据迁移

    步骤一:授予目标项目Owner云账号对源项目数据的读取权限

    MaxCompute支持通过以下两种方式实现跨阿里云账号访问项目:

    • 方式一:将目标项目projectB对应的Owner阿里云账号B(projectB_owner@aliyunid.com)添加至数据源项目projectA(操作见用户规划与管理),并授予需要访问的资源的权限(操作见通过命令管理用户权限),即可实现阿里云账号B对项目A的访问:

      --进入数据源项目projectA;
      use projectA;
      --将目标项目(projectB)Owner的阿里云账号(projectB_owner@aliyunid.com)添加至源项目空间(projectA);
      add user ALIYUN$projectB_owner@aliyunid.com;
      --赋予源项目的CreateTable、CreateInstacne权限
      grant CreateTable,CreateInstance on project projectA to user ALIYUN$projectB_owner@aliyunid.com;
      --赋予源表的Select权限
      grant Select on table  to user ALIYUN$projectB_owner@aliyunid.com;
    • 方式二:基于Package授权机制实现跨阿里云账号访问项目。数据源项目Owner阿里云账号A将数据源项目A内的资源打包为PackageA,并设置允许阿里云账号B下的项目B安装,项目B安装此PackageA后,阿里云账号B即可访问PackageA内的资源。具体操作见基于Package跨项目访问资源。

    步骤二:实现数据迁移

    阿里云账号操作,可直接进入目标项目,创建目标表:

    创建新表的同时复制数据

    --进入目标项目projectB;
    use projectB;
    
    set odps.namespace.schema=false;
    --基于projectA内的数据源表创建新表并复制数据。
    create table [if not exists] 
    [lifecycle ] as select * from projectA.
    ;

    创建新表后再复制数据

    --进入目标项目projectB;
    use projectB;
    
    set odps.namespace.schema=false;
    --基于数据源表创建具备相同结构的新表但不复制数据。
    create table [if not exists] 
    like projectA.
    [lifecycle ]; --将数据源表的数据写入目标项目中的新表: insert {into|overwrite} table
    [partition ()] [([,...)]] select * from projectA.
    [zorder by [, ...]];

    更多创建表操作请参见表操作。

    重要

    建议完成数据迁移后,及时将目标项目Owner阿里云账号从数据源项目中移除,以保证数据安全。移除操作详情请参见删除阿里云账号用户(项目级别)。

    内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

    阿里云企业补贴进行中: 马上申请

    腾讯云限时活动1折起,即将结束: 马上收藏

    同尘科技为腾讯云授权服务中心。

    购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

    转转请注明出处:https://www.yunxiaoer.com/158951.html

    (0)
    上一篇 2023年12月10日
    下一篇 2023年12月10日
    详情页2

    相关推荐

    联系我们

    400-800-8888

    在线咨询: QQ交谈

    邮件:admin@example.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注微信
    本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。