datax 使用 增量同步需要动态传入参数

datax 使用

阿里开源,主要用于离线数据同步。

官方文档

使用简单,主要就是写 json 配置对应的参数,重哪里读 写到哪里去,中间可以转换 脱敏等。

环境 依赖Python

装好环境简单使用

python E:\datax\bin\datax.py E:\datax\job\mysqltomysql.json

增量同步需要动态传入参数 也就是sql where 的条件

"querySql":[
"select id,name,product_ids from XXXX where id>$startId and id<=$endId;"
],

执行命令 python E:\datax\bin\datax.py E:\datax\job\mysqltomysqljsonid.json -p"-DstartId=1 -DendId=2"

一般离线数据就是 定时调度

  1. 简单点可以 linux corn + shell

  2. 开源 datax-web

  3. 直接项目里面订单调度 Java 执行命令行 commons-exec

    /**
     * 1、简单任务示例(Bean模式)
     */
    @XxlJob("job")
    public void demoJob() throws Exception {
        String line = "python E:\\datax\\bin\\datax.py E:\\datax\\job\\mysqltomysqljsonid.json";
        CommandLine cmdLine= CommandLine.parse(line);
        DefaultExecutor executor = new DefaultExecutor();
        int exitValue = executor.execute(cmdLine);
        //System.out.println("exit value = " + exitValue);
        // default success
    }
    

总结:离线同步一般就是定时 同步,开源的还要很多 kettle 等,一般展示数据的时候 会展示出最新数据的同步时间,datax 也是支持的 。

posted @ 2024-04-09 17:26  川流不息&  阅读(267)  评论(0编辑  收藏  举报