datax 批量同步和传输表

有时候,进行全量同步表时,涉及的表会比较多,可以使用参数定义表明的方式 进行调用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文件即可,将两个表名进行替换一下即可。

 

posted @ 2021-07-05 17:17  欣欣姐  Views(3930)  Comments(1Edit  收藏  举报