安装部署就不说了,网上一搜一大堆,直接进入正文
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交流一下!!!