首页/数据/数据工程与 ETL 速查/DataX:批式数据同步与 job.json
本包目录(311 条)
管道基础52 条Kafka64 条调度与编排40 条数仓建模52 条数据质量50 条
CDC 与同步53 条

DataX:批式数据同步与 job.json

DataX 是阿里开源的离线数据同步工具(Java),用 job.json 描述 reader 到 writer 的搬运,插件覆盖 MySQL、Oracle、Hive、HDFS、Kafka、ClickHouse 等数据源;channel 控制并发,适用于数仓开荒导入与临时取数,但它是批式抽取,不具备日志型 CDC 的实时与删除捕获能力。

job.json 骨架

job.json 骨架
{
  "job": {
    "setting": {
      "speed": { "channel": 3 },
      "errorLimit": { "record": 0, "percentage": 0.02 }
    },
    "content": [
      {
        "reader": {
          "name": "mysqlreader",
          "parameter": {
            "username": "ro_user", "password": "***",
            "column": ["id", "amount", "created_at"],
            "splitPk": "id",
            "connection": [
              { "jdbcUrl": ["jdbc:mysql://10.0.0.5:3306/app"], "table": ["orders"] }
            ]
          }
        },
        "writer": {
          "name": "streamwriter",
          "parameter": { "print": true }
        }
      }
    ]
  }
}

运行任务

运行任务
python bin/datax.py job.json
splitPk 是切分键:选整型/字符串类主键可并行抽取;不配 splitPk 时按单通道顺序读。

易错点

  • 直连生产库跑大表全量且不限流,把源库 IO 拖垮
  • 对着含删除语义的表做增量:批式抽取捕获不到 DELETE,需要周期全量或改走 CDC

数据来源与参考

  • DataX 官方文档(alibaba/DataX:job 配置与插件)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌