datax是一个搬数据的框架,是阿里巴巴公司的开源的框架,主要就是用来搬数据,多数据源之间的数据的处理。
datax的使用:
datax主要通过json文件来配置job,json的格式如下:
{ "job": { "content": [ { "reader": { "name": "streamreader", "parameter": { "column": [], "sliceRecordCount": "" } }, "writer": { "name": "streamwriter", "parameter": { "encoding": "", "print": true } } } ], "setting": { "speed": { "channel": "" } } } }
上面就是一个简单的job文件,可以看出一个job包含reader和writer两个部分,初次接触datax的json文件时,感觉跟spring-batch很相似,都是分为一个一个的job,而且都包含reader和writer。但是datax与batch是不一样的,datax只是一个搬数据的数据同步工具,而batch是批量处理工具,batch可以对读到的数据进行处理,而datax没有这个功能,只能转移数据,读到的数据是什么,写出来就是什么。
datax是一个支持拓展插件的框架,也就是说datax是可以配置的,如果现有的插件满足不了需求,我们完全可以自己编辑插件。
datax的reader包括有:mysqlreader,txtfilereader,ftpreader,streamreader.....等,这些都是datax已经开发的插件,响应的writer有mysqlwriter,txtfilewriter,streamwriter....
具体不一一介绍,可以自己查询,json配置文件注释:
/*一个json就是一个job,一个job主要包含: content,setting 两个属性*/ { "job": { /*content是job的核心,主要放reader和writer插件*/ "content": { /*raader插件*/ "reader": {}, /*writer插件*/ "writer": {} }, /*setting主要用来设置job的基本设置*/ "setting": { /*speed流量控制*/ "speed": { "channel": 1, /*同步时候的并发数*/ "byte": 1024 /*同步时候的字节大小,影响速度,可选*/ }, /*脏数据控制*/ "errorLimit": { "record": 10,/*脏数据最大记录数阈值*/ "percentage": 0.05 /*脏数据占比阈值*/ } } } }
json的reader和writer内容根据插件不同而变化,具体查询官网。
来源:https://www.cnblogs.com/Zs-book1/p/12255265.html