DataX3.0配置 - 图1

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插件

  1. "reader": {
  2. "name": "mysqlreader", #从mysql数据库获取数据(也支持sqlserverreader,oraclereader
  3. "name": "txtfilereader", #从本地获取数据
  4. "name": "hdfsreader", #从hdfs文件、hive表获取数据
  5. "name": "streamreader", #从stream流获取数据(常用于测试)
  6. "name": "httpreader", #从http URL获取数据
  7. }
  8. "writer": {
  9. "name":"hdfswriter", #向hdfs,hive表写入数据
  10. "name":"mysqlwriter ", #向mysql写入数据(也支持sqlserverwriter,oraclewriter
  11. "name":"streamwriter ", #向stream流写入数据。(常用于测试)
  12. }

精准的速度控制

新版本DataX3.0提供了包括通道(并发)、记录流、字节流三种流控模式,可以随意控制你的作业速度,让你的作业在库可以承受的范围内达到最佳的同步速度。

  1. "speed": {
  2. "channel": 5,
  3. "byte": 1048576,
  4. "record": 10000
  5. }

bin目录

  • datax.py
  • dxprof.py
  • perftrace.py

    datax.py

    datax.py主要是用来提交任务的,相当于datax的入口,我们使用命令窗口来执行看看,进入编译后的datax目录,然后执行:

    1. 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文件,是示例文件。