【YashanDB知识库】使用DataX工具迁移yashan数据到maxcompute

简介: 本文介绍使用崖山适配的DataX工具进行数据库迁移的方法,包括单表迁移和批量表迁移。单表迁移需配置json文件并执行同步命令;批量迁移则通过脚本自动化生成json配置文件并完成数据迁移,最后提供数据比对功能验证迁移结果。具体步骤涵盖连接信息配置、表清单获取、json文件生成、数据迁移执行及日志记录,确保数据一致性。相关工具和脚本简化了复杂迁移过程,提升效率。

本文内容来自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,并分别输出源库和目标库对应表的行数

相关文章
【YashanDB知识库】手工迁移Doris数据到崖山分布式
【YashanDB知识库】手工迁移Doris数据到崖山分布式
|
存储 人工智能 搜索推荐
WiseMindAI:一款AI智能知识库,数据完全本地化,支持文档对话、10+种文档、10+AI大模型等
WiseMindAI 是一款由 Chris 开发的 AI 智能学习助手,支持数据完全本地化存储,确保用户隐私安全。它兼容多种文档格式(如 PDF、Markdown 等),并提供 AI 文档总结、智能笔记、沉浸式翻译、知识卡片生成等功能。此外,WiseMindAI 支持 10+ 大语言模型和自定义 AI 插件,适用于 Windows 和 Mac 平台,支持简体中文、繁体中文及英文。
1752 74
WiseMindAI:一款AI智能知识库,数据完全本地化,支持文档对话、10+种文档、10+AI大模型等
|
机器学习/深度学习 SQL 大数据
什么是数据集成?和数据融合有什么区别?
在大数据领域,“数据集成”与“数据融合”常被混淆。数据集成关注数据的物理集中,解决“数据从哪来”的问题;数据融合则侧重逻辑协同,解决“数据怎么用”的问题。两者相辅相成,集成是基础,融合是价值提升的关键。理解其差异,有助于企业释放数据潜力,避免“数据堆积”或“盲目融合”的误区,实现数据从成本到生产力的转变。
什么是数据集成?和数据融合有什么区别?
|
SQL DataX HIVE
【YashanDB知识库】DataX迁移Hive到崖山分布式
本文来自YashanDB官网,介绍通过DataX将Hive数据迁移到YashanDB的实现方法。源环境为Hive 3.1.3,目标为YashanDB 23.2.3.100。文章提供了Hive与YashanDB的建表脚本、数据类型映射及DataX配置示例,包含reader和writer插件参数设置,并通过`datax.py`执行同步任务。内容详尽展示了数据迁移的全流程。
【YashanDB知识库】DataX迁移Hive到崖山分布式
|
Oracle 关系型数据库 Java
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
本文介绍通过Flink CDC实现Oracle数据实时同步至崖山数据库(YashanDB)的方法,支持全量与增量同步,并涵盖新增、修改和删除的DML操作。内容包括环境准备(如JDK、Flink版本等)、Oracle日志归档启用、用户权限配置、增量日志记录设置、元数据迁移、Flink安装与配置、生成Flink SQL文件、Streampark部署,以及创建和启动实时同步任务的具体步骤。适合需要跨数据库实时同步方案的技术人员参考。
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
|
SQL 关系型数据库 MySQL
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
本文探讨了在使用YMP 23.2.1.3迁移MySQL Server字符集为latin1的中文数据至YashanDB时出现乱码的问题。问题根源在于MySQL latin1字符集存放的是实际utf8编码的数据,而YMP尚未支持此类场景。文章提供了两种解决方法:一是通过DBeaver直接迁移表数据;二是将MySQL表数据转换为Insert语句后手动插入YashanDB。同时指出,这两种方法适合单张表迁移,多表迁移可能存在兼容性问题,建议对问题表单独处理。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
|
SQL 关系型数据库 PostgreSQL
【YashanDB 知识库】从 PostgreSQL 迁移到 YashanDB 如何进行数据行数比对
【YashanDB 知识库】从 PostgreSQL 迁移到 YashanDB 如何进行数据行数比对
|
SQL Oracle 关系型数据库
【YashanDB知识库】从PostgreSQL迁移到YashanDB如何进行数据行数比对
本文介绍了通过Oracle视图`v$sql`和`v$sql_plan`分析SQL性能的方法。首先,可通过`plan_hash_value`从`v$sql_plan`获取SQL执行计划,结合示例展示了具体查询方式。文章还创建了一个UDF函数`REPEAT`用于格式化输出,便于阅读复杂执行计划。最后,通过实例展示了如何根据`plan_hash_value`获取SQL文本及其内存中的执行计划,帮助优化性能问题。
|
SQL 存储 关系型数据库
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
|
SQL 测试技术 数据库
【YashanDB知识库】IMP跨网络导入慢问题
问题现象:290M数据,本地导入2分钟,跨机导入耗时显著增加(最高30分钟)。 原因分析:`imp`逐条SQL通过网络传输至yashanDB执行,交互频繁导致性能下降。 影响版本:客户测试环境22.2.8.3。 解决方法:将导入文件上传至与yashanDB同机后使用`imp`,减少网络延迟。 经验总结:优化`imp`工具,支持直接上传文件至服务器端执行,降低网络依赖。