DataX 同步数据

Author: Ju4t

DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS 等各种异构数据源之间高效的数据同步功能。

下载地址

https://gitee.com/mirrors/DataX

https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

命令

# 测试脚本
python bin/datax.py job/job.json

# 生成配置模版,参考 plugin 目录下的 reader 和 writer
ju4t@Mac datax % python bin/datax.py -r mysqlreader -w hdfswriter

配置模版

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader", 
                    "parameter": {
                        "column": ["id", "title"], 
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://rdb.com:3306/movie"], // 连接多个库
                                "table": ["subject_item"]
                            }
                        ], 
                        "password": "", 
                        "username": "", 
                        "where": "id > 2"
                    }
                }, 
                "writer": {
                    "name": "hdfswriter", 
                    "parameter": {
                        "column": [
                          {"name": "id", "type": "bigint"},
                          {"name": "name", "type": "string"}
                        ], 
                        "compress": "gzip", 
                        "defaultFS": "hdfs://haddoop.com:8020", 
                        "fieldDelimiter": "\t", 
                        "fileName": "base_province", 
                        "fileType": "text", 
                        "path": "/base_province/%{dt}", 
                        "writeMode": "append"
                    }
                }
            }
        ], 
        "setting": {
            "speed": {
                "channel": ""
            }
        }
    }
}

// hdfs 配置的路径必须存在
// hadoop fs -mkdir /base_province
// 自己封装脚本实现动态日期 https://www.bilibili.com/video/BV1nf4y1F7Bn?p=65&t=197.4

生成的模版内容,模版配置说明 https://github.com/alibaba/DataX/blob/master/mysqlreader/doc/

支持的数据源

类型 数据源 Reader(读) Writer(写) 文档
RDBMS 关系型数据库 MySQL
Oracle
OceanBase
SQLServer
PostgreSQL
DRDS
通用RDBMS(支持所有关系型数据库)
阿里云数仓数据存储 ODPS
ADS
OSS
OCS
NoSQL数据存储 OTS
Hbase0.94
Hbase1.1
Phoenix4.x
Phoenix5.x
MongoDB
Hive
Cassandra
无结构化数据存储 TxtFile
FTP
HDFS
Elasticsearch
时间序列数据库 OpenTSDB
TSDB