Datax使用总结-1

安装部署就不说了,网上一搜一大堆,直接进入正文

linux 安装  :  https://blog.csdn.net/paicmis/article/details/53563824

windows安装 : https://blog.csdn.net/gjf281/article/details/53350791

1、优化部分,大多网上走的都是固定的调优方式,此处只添加某些遗漏

全局调优 (需要放在 job 上一个json模块前)

{
   "core":{
        "transport":{
            "channel":{
                "speed":{
                    "channel": 2,## 此处为数据导入的并发度,建议根据服务器硬件进行调优
                    "record":-1,##此处解除对读取行数的限制
                    "byte":-1,##此处解除对字节的限制
                    "batchSize":2048 ##每次读取batch的大小
                }
            }
        }
    }

局部调优 (最后一个模块)

"setting": {
            "speed": {
                "channel": 2,
                "record":-1,
                "byte":-1,
                "batchSize":2048
            }
        }
    }

}

jvm调优 (此处根据服务器配置进行调优,切记不可太大!否则直接Exception)

python datax.py  --jvm="-Xms3G -Xmx3G" ../job/test.json

 

以上为调优,应该是可以针对每个json文件都可以进行调优

2、动态传参

如果需要导入数据的表太多而表的格式又相同,可以进行json文件的复用,举个简单的例子:

python datax.py -p "-Dsdbname=test  -Dstable=test" ../job/test.json
  "column": ["*"],
    "connection": [
      {
       "jdbcUrl": "jdbc:mysql://XXXXXX:XX/${sdbname}?characterEncoding=utf-8",
        "table": ["${stable}"]
      }
      ],

上述例子可以在linux下与shell进行嵌套使用!!!

3、增量同步

不知道网上说的增量同步是怎么实现的,此处分享一下本人的总结,如果有误望指点!!

linux:进行shell编写,表中须有时间字段,每次将系统时间通过动态参数的方式传入,shell脚本内部进行时间判断,设置定时任务每天进行推送(crontab)

windows:进行bat文件编写,通过系统任务计划程序进行定时推送

目前总结到这,如有问题可以在留言,我会及时修改,先谢谢大家了,后续会继续更新博客,喜欢datax的朋友可以加Q 1020963046交流一下!!!

 

你可能感兴趣的:(Datax使用总结-1)