DataX 是一个异构数据源离线同步工具,可以实现数据源之间的数据同步。
ODPSWriter插件适合于TB,GB数量级的数据传输,如果需要传输PB量级的数据,可以选择dt task工具 ;
通过json文件进行配置,直接通过datax\bin下的datax.py文件启动
因为datax.py中的print方式为python2的方式,所以使用python2启动脚本。
python datax.py ..\job\job.json
官方git地址:https://github.com/alibaba/DataX
{
"job": {
"setting": {
"speed": {"channel": 1}
},
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"sliceRecordCount": 10,
"column": [ { "type": "long", "value": "10" }, { "type": "string", "value": "hello,你好,世界-DataX" } ] }
},
"writer": {
"name": "streamwriter",
"parameter": {
"encoding": "UTF-8",
"print": true }
}
}
],
"setting": {
"speed": {
"channel": 5
}
}
}
}
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": [
"id",
"name"
],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://<主机>:<端口号>/<数据库>"], #作为reader的jdbcUrl需要是数组的形式,可以传入多个。
"table": ["表名"]
}
],
"password": "",
"username": ""
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": [
"id",
"name"
],
"connection": [
{
"jdbcUrl": "jdbc:mysql://<主机>:<端口号>/<数据库>",
"table": ["表名"]
}
],
"password": "",
"username": ""
}
}
}
],
"setting": {
"speed": {
"channel": 1
}
}
}
}
{
"job": {
"setting": {
"speed": {"byte": 1048576}
},
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": [ # 对应的列名 "id", "name" ],
"connection": [ { "jdbcUrl": ["jdbc:mysql://<主机>:<端口号>/<数据库>"], "table": ["表名"] } ],
"password": "",
"username": "" }
},
"writer": {
"name": "odpswriter",
"parameter": {
"project": "",
"table": "",
"column": ["id", "name"],
"accessId": "",
"accessKey": "",
"truncate": true,
"odpsServer": "http://service.odps.aliyun.com/api",
"tunnelServer": "http://dt.odps.aliyun.com",
"accountType": "aliyun" }
}
}
]
}
}