DataX 是阿里云的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具。DataX 实现了包括 MySQL、Oracle、HDFS、Hive、HBase 等各种异构数据源之间高效的数据同步功能。
DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。
GitHub - alibaba/DataX: DataX是阿里云DataWorks数据集成的开源版本。
https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202303/datax.tar.gz
#解压
tar -xvf datax.tar.gz
任务示例脚本存放目录:/job
脚本中各个参数的用法请参考官方文档使用说明。如:本脚本reader中的"splitPk": "cust_no",指定按照cust_no进行分组子任务并行执行,用来提升同步效率。
{
"job": {
"setting": {
"speed": {
"channel": 5
},
},
"content": [
{
"reader": {
"name": "oraclereader",
"parameter": {
"username": "***",
"password": "***",
"column": [
"cust_no",
"fund_acco_no",
"agency_no",
"fund_code",
"share_type",
"last_shares",
"d_cdate",
"ta_no",
"cust_type",
"trade_acco_no"
],
"connection": [
{
"table": [
"t_c_bal_fund_bak"
],
"jdbcUrl": [
"jdbc:oracle:thin:@172.*.*.*:1521/*"
]
}
],
"where":"1=1",
"splitPk": "cust_no",
"sliceRecordCount": 500000
}
},
"writer": {
"name": "oraclewriter",
"parameter": {
"username": "***",
"password": "***",
"column": [
"cust_no",
"fund_acco_no",
"agency_no",
"fund_code",
"share_type",
"last_shares",
"fdate",
"ta_no",
"cust_type",
"trade_acco_no"
],
"connection": [
{
"table": [
"t_c_bal_fund"
],
"jdbcUrl": "jdbc:oracle:thin:@172.*.*.*:1521/*"
}
]
}
}
}
]
}
}
/data/datax/datax/job
python /data/datax/datax/bin/datax.py /data/datax/datax/job/test.json