DataX大数据量同步优化方案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataX大数据量同步优化方案相关的知识,希望对你有一定的参考价值。
参考技术A 使用DataX从生产DB拉取数据时,正常的业务场景我们都是通过增量拉取做Merge的方式来限制抽取的数据量,但存在以下几种情况需要做大数据量的同步:虽然同步数据都是从生产DB的slave节点取数,但大数据量的同步,长时间访问也可能会导致Slave节点的性能下降。
datax传递多个参数到json
《data x传递两个参数到json》。DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。DataX一般和DataX-Web联合使用,实现对任意数据库之间数据同步的调度执行。对于数据的同步,可以是全量更新和增量更新两种方式,对于大数据量的事物数据,例如:销售记录数据的同步,一般都是选择增量更新方式。DataX-Web提供的增量更新支持基于自增ID的增量更新和基于时间的增量更新。在调度执行job任务时,dataX-Web会动态生成参数并在调用DataX执行时传入,例如:Python /opt/module/datax/bin/datax.py -p "-DlastTime=2022-01-01 -DcurrentTime=2022-06-04"登录后复制DataX会把传入的参数写入环境变量,读入json脚本时会通过正则表达式查找$包含的变量,并搜索环境变量进行替换。通过以上代码分析,可知在json任意的位置定义$变量,都能够被替换,如:DataX的动态变量替换机制不够灵活,只能实现简单的变量替换,如果需要复杂的变量支持时,DataX就无法实现。例如:DataX-Web只能提供lastTime和currentTime两个参数,如果还需要支持其他参数,就没有办法了。针对这块考虑对DataX进行修改,引入avaitor表达式框架,通过Avaitor表达式丰富的功能,实现复杂的动态参数机制。祝您生活愉快,谢谢提问😊 参考技术A datax传递多个参数到json,一般情况下来说,这是正常操作,因为datax传递多个参数到json
以上是关于DataX大数据量同步优化方案的主要内容,如果未能解决你的问题,请参考以下文章