【YashanDB 知识库】使用 DataX 工具迁移 yashan 数据到 maxcompute
本文内容来自 YashanDB 官网,原文内容请见https://www.yashandb.com/newsinfo/7773554.html?templateId=1718516
注意:迁移需要使用崖山适配过的 DataX 工具包,下载链接:DataX: 阿里云DataWorks数据集成的开源版本
DataX 单表迁移
使用 DataX 工具主要是配置好对应的 json 文件,使 DataX 工具可以根据 json 文件进行对应数据库表的迁移操作
json 文件配置模板如下:template.json
配置完成后,执行下面命令即可执行 DataX 的同步操作(路径根据实际情况修改)
python bin/datax.py test_json/test.json
DataX 批量表迁移(以迁移一个用户下所有表为例)
1、根据实际情况填写 json 模板文件与源库目标库相关的连接信息,并放在下面脚本工具同一个目录下:

2、获取需要同步的表清单 table.list
sql 命令:select table_name from dba_tables where owner='*****'; (*****填写实际情况下崖山数据库的用户名)
将输出导出到一个 table.list 文件中,每行记录一个表名
3、针对各个表生成对应的 json 配置文件(脚本中的[schema]根据实际情况更改为崖山数据库的用户名)
使用yas_dataxmove_auto_create_json.sh工具,为每张表生成对应的 json 文件
shell 命令:./yas_dataxmove_auto_create_json.sh table.list username/password@ip:port
运行结果:运行结束后会在当前目录生成一个 json 目录,里面包含了 table.list 所有以表名命名的 json 配置文件
4、执行数据迁移操作(脚本中的[schema]根据实际情况更改为崖山数据库的用户名,注意根据实际情况对齐脚本工具中的路径)
使用yas_dataxmove_exists_json.sh工具,根据上一步骤生成的 json 文件用 dataX 执行迁移操作
shell 命令:./yas_dataxmove_exists_json.sh table.list username/password@ip:port
运行结果:运行结束后会在当前目录下生成 log 目录,里面包含 table.list 所有以表名命名的.log 迁移日志文件,以及有_temp.log 后缀的临时视图创建及删除结果的日志文件。
5、简单的数据比对(脚本中的[schema]根据实际情况更改为崖山数据库的用户名,需要安装 maxcompute 客户端并可以连接上 maxcompute)
运行check_out.sh脚本,比对源库与目标库数据每张表的行数是否⼀致。
shell 命令:./check_out.sh table.list username/password/@ip:port [maxcompute 的 bin 目录路径]
运行结果:如果目标库与源库表行数一致,则输出:Proofread successfully;若有表行数比对不一致则输出 Proofread fail,并分别输出源库和目标库对应表的行数
版权声明: 本文为 InfoQ 作者【YashanDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/34e722653171ee5a447e99ef1】。文章转载请联系作者。
评论