参考地址:https://github.com/alibaba/DataX/blob/master/rdbmswriter/doc/rdbmswriter.md
1.配置rdbmswriter的db2驱动(首次使用)
说明:datax暂时没有独立插件支持db2,需要使用通用RDBMS;这里是写入db2,使用rdbmswriter,对应目录为/usr/soft/datax/plugin/writer/rdbmswriter/
- 修改该目录下的plugin.json,注册数据库驱动
{
"name": "rdbmswriter",
"class": "com.alibaba.datax.plugin.reader.rdbmswriter.RdbmsWriter",
"description": "useScene: prod. mechanism: Jdbc connection using the database, execute select sql, retrieve data from the ResultSet. warn: The more you know about the database, the less problems you encounter.",
"developer": "alibaba",
"drivers":["com.ibm.db2.jcc.DB2Driver"]
}
- 上传db2驱动到该目录下的libs,如图所示
- 替换该目录下的rdbmswriter-0.0.1-SNAPSHOT.jar(原版有bug,不支持db2),如图所示
2.添加抽取数据任务
说明:job文件都放在/usr/soft/datax/job目录
- 在该目录下新建xian-langchao-stock.json,内容如下(注意修改数据库地址、账号、密码、SQL)
{
"job": {
"setting": {
"speed": {
"channel": 1
}
},
"content": [{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"password": "xxxxxx",
"connection": [{
"querySql": [
"select c.corp_code CORP_CODE,a.cust_licence CUST_LICENCE,REPLACE(a.data_date,'-','') INVE_DATE,
right(a.update_time, 8) INVE_TIME, a.product_id BAR_CODE, a.stock_qty QTY
from data_summary_sale_date a
left join t_base_city_corp c on a.city_code = c.city_code
where c.corp_code = '11610101'
and a.data_date = '2018-11-11'"
],
"jdbcUrl": [
"jdbc:mysql://源数据库IP:3306/daas_retail?useSSL=false"
]
}]
}
},
"writer": {
"name": "rdbmswriter",
"parameter": {
"connection": [{
"jdbcUrl": "jdbc:db2://目标数据库IP:50000/temold",
"table": [
"GY_CUST_ITEM_WHSE_ZR"
]
}],
"username": "db2admin",
"password": "xxxxxx",
"table": "GY_CUST_ITEM_WHSE_ZR",
"column": [
"ORG_CODE",
"CUST_CODE",
"DATE1",
"UPD_TIME",
"CGT_CODE",
"QTY"
],
"preSql": [
"delete from GY_CUST_ITEM_WHSE_ZR where ORG_CODE = '11610101'"
]
}
}
}]
}
}
3.执行任务命令
python /usr/soft/datax/bin/datax.py /usr/soft/datax/job/xian-langchao-stock.json
4.配置定时执行任务
- 登录xxl-job-admin管理页面http://你的域名/xxl-job-admin/toLogin
- 新增定时GLUE(Shell)任务,内容为步骤3的命令