GitHub
https://github.com/alibaba/DataX
https://github.com/alibaba/DataX/blob/master/introduction.md
https://github.com/alibaba/DataX/blob/master/userGuid.md
Reader插件和Writer插件
"reader": {
"name": "mysqlreader", #从mysql数据库获取数据(也支持sqlserverreader,oraclereader)
"name": "txtfilereader", #从本地获取数据
"name": "hdfsreader", #从hdfs文件、hive表获取数据
"name": "streamreader", #从stream流获取数据(常用于测试)
"name": "httpreader", #从http URL获取数据
}
"writer": {
"name":"hdfswriter", #向hdfs,hive表写入数据
"name":"mysqlwriter ", #向mysql写入数据(也支持sqlserverwriter,oraclewriter)
"name":"streamwriter ", #向stream流写入数据。(常用于测试)
}
精准的速度控制
新版本DataX3.0提供了包括通道(并发)、记录流、字节流三种流控模式,可以随意控制你的作业速度,让你的作业在库可以承受的范围内达到最佳的同步速度。
"speed": {
"channel": 5,
"byte": 1048576,
"record": 10000
}
bin目录
- datax.py
- dxprof.py
-
datax.py
datax.py主要是用来提交任务的,相当于datax的入口,我们使用命令窗口来执行看看,进入编译后的datax目录,然后执行:
python datax.py ../job/job.json
dxprof.py
在datax项目里,没有找到这个文件在哪里调用了,通过阅读源码,大概知道这个类是一个工具类,用来查询数据库的主机信息、表信息以及任务的执行结果信息。
perftrace.py
它的主要作用就是,用户可以通过传入json字符串来生成任务的json,然后执行。
config目录
config目录主要有以下两个文件:
core.json
- logback.xml
logback.xml
logback.xml主要就是控制打印的级别,以及控制打印日志的格式等。core.json
job目录
job目录只有一个job.json文件,是示例文件。