有時候,進行全量同步表時,涉及的表會比較多,可以使用參數定義表明的方式 進行調用datax的配置文件,這樣就不需要每次新增一張表就寫一個配置文件
{ "job": { "content": [ { "reader": { "name": "oraclereader", "parameter": { "column": ["*"], "connection": [ { "jdbcUrl": ["jdbc:oracle:thin:@192.136.111.120:1521:ompio"], "table": ["${readTb}"] } ], "password": "hdgsjdgsj", "username": "yuergjdgs" } }, "writer": { "name": "oraclewriter", "parameter": { "column": ["*"], "preSql": ["truncate table ${writeTb}" ], "connection": [ { "jdbcUrl": "jdbc:oracle:thin:@192.186.258.56:1521:uytbo", "table": ["${writeTb}"] } ], "password": "hdjfdj", "username": "ghdssh" } } } ], "setting": { "speed": { "channel": "10" } } } }
然后 就需要進行全量同步的所有表整理在一個shell文件中,即使新增表,也只需要增加一行shell文件記錄,不需要重新寫配置文件,其中sh文件的名稱為test.sh,其內容如下
datax/bin/datax.py datax_json/full_update/poiu_full_update_tables.json -p "-DreadTb=poiu.dump_TEaR -DwriteTb=CDMDATA.dump_TEaR" --jvm="-Xms8G -Xmx8G" datax/bin/datax.py datax_json/full_update/poiu_full_update_tables.json -p "-DreadTb=poiu.dump_MEaRCHANTI -DwriteTb=CDMDATA.dump_MEaRCHANTI" --jvm="-Xms8G -Xmx8G" datax/bin/datax.py datax_json/full_update/poiu_full_update_tables.json -p "-DreadTb=poiu.dump_MERaC_CA -DwriteTb=CDMDATA.dump_MERaC_CA" --jvm="-Xms8G -Xmx8G" datax/bin/datax.py datax_json/full_update/poiu_full_update_tables.json -p "-DreadTb=poiu.dump_MEaRC_REA -DwriteTb=CDMDATA.dump_MEaRC_REA" --jvm="-Xms8G -Xmx8G"
然后 再同步linux的定時任務,每日執行這個shell文件即可。如果同步的表有增加,只需要同步上面test.sh文件即可,將兩個表名進行替換一下即可。