需求是从mysql增量抽取数据到postgresql。
实践了两种实现方式,要注意一点,源表和目标表的字段名称必须一致,不然会提示抽取失败。
第一种:使用海豚自带datax组件实现
第二种:在海豚里调用shell脚本实现,抽取配置写在shell脚本中,需要配置reader和writer。
shell脚本配置内容如下:
下载地址:https://download.csdn.net/download/weixin_43025027/76460239
{
“job”: {
“content”: [
{
“reader”: {
“name”: “mysqlreader”,
“parameter”: {
“column”: [
“id”,
“name”,
“date1”,
“date2”,
“use_num”
],
“connection”: [
{
“jdbcUrl”: [
“jdbc:mysql://xx.xx.xx.xx:3306/yhreporting”
],
“querySql”: [
“select id,name,date1,date2,use_num from a_a_test where date2 >= CURRENT_DATE;”
]
}
],
“password”: “password”,
“username”: “username”
}
},
“writer”: {
“name”: “postgresqlwriter”,
“parameter”: {
“column”: [
“id”,
“name”,
“date1”,
“date2”,
“use_num”
],
“preSql”: [
“delete from dm.a_a_test where date2 >= CURRENT_DATE”
],
“connection”: [
{
“jdbcUrl”: “jdbc:postgresql://xx.xx.xx.xx:5432/TCT_DW”,
“table”: [“dm.a_a_test”]
}
],
“password”: “password”,
“username”: “username”
}
}
}
],
“setting”: {
“speed”: {
“channel”: “1”
}
}
}
}