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 | √ | √ | 读 、写 |