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 @   欣欣姐  Views(4042)  Comments(1Edit  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示