使用CLONE TABLE方式实现同region不同可用区的MaxCompute之间的数据迁移

该文章主要针对于用户同region不同账户之间的MaxCompute数据迁移方式,属于迁移的方式可以有三种方式,一、添加MaxCompute数据源的方式进行数据迁移(该方式针对多个表配置同步节点较为繁琐);二、使用tunnel方式结合代码进行数据的迁移;三、使用clone table进行MaxCompute数据到另一MaxCompute之间的数据迁移。本案例主要介绍Clone table功能,Clone table跨账号进行同步数据,需要所做的添加对应的主账户到对应的项目空间,并且赋予有对应创建表权限的用户,最后实现不同MaxCompute之间的Clone table功能。

背景:
针对用户在不同MaxCompute之间进行数据迁移,使用三种方式的第一种、第二种进行数据的迁移造成了很多用户操作繁琐,在这里给大家带来一篇实践不同账号Clone table功能的一个范例,希望可以帮助到大家。

一、CLONE TABLE功能介绍

CLONE TABLE可以复制表数据到另一个表中,极大的提高了数据迁移的效率。本文为您介绍CLONE TABLE的使用。

使用限制

  • 要求目标表与源表的Schema兼容。
  • 支持分区表和非分区表。
  • 目标表已存在时一次性复制分区的数量上限为10000个。
  • 目标表不存在时无分区数量限制,满足原子性。

命令格式

CLONE TABLE <[src_project_name.]src_table_name> [PARTITION(spec), ...]
 TO <[dest_project_name.]desc_table_name> [IF EXISTS (OVERWRITE | IGNORE)] ;

具体使用情况请参阅CLONE TABLE功能介绍

二、添加用户与赋予用户权限

2.1进入需要同步数据的MaxCompute客户端,并添加目标源MaxCompute的主账号到目的空间
使用CLONE TABLE方式实现同region不同可用区的MaxCompute之间的数据迁移
限制
只能将另一个主账户添加到本项目空间
使用CLONE TABLE方式实现同region不同可用区的MaxCompute之间的数据迁移

涉及到的权限知识点可以参考MaxCompute与DataWorks权限介绍和示例

2.2查询所有角色,并查看对应角色的权限设置,并赋予新增用户的权限
使用CLONE TABLE方式实现同region不同可用区的MaxCompute之间的数据迁移

使用CLONE TABLE方式实现同region不同可用区的MaxCompute之间的数据迁移

三、在源MaxCompute创建对应的表,并插入数据

3.1在源MaxCompute创建对应的表并插入数据

CREATE TABLE IF NOT EXISTS git_project.testone(name STRING) STORED AS ALIORC;
INSERT INTO testone VALUES ('tom');
INSERT INTO testone VALUES ('tony');

四、clone数据,并确认数据是否clone是否成功

4.1在源MaxCompute执行命令

clone TABLE git_project.testone to WB_BestPractice_dev.testone IF EXISTS OVERWRITE;

使用CLONE TABLE方式实现同region不同可用区的MaxCompute之间的数据迁移

4.2登录MaxCompute目的端,查看是否迁移完成
执行命令

select * from testone;

使用CLONE TABLE方式实现同region不同可用区的MaxCompute之间的数据迁移

欢迎加入“MaxCompute开发者社区2群”,点击链接申请加入或扫描二维码
https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745
使用CLONE TABLE方式实现同region不同可用区的MaxCompute之间的数据迁移

上一篇:关于JAVA中volatile使用的一些总结


下一篇:使用nginx 中转 https tls1.3 请求