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"
一般离线数据就是 定时调度
-
简单点可以 linux corn + shell
-
开源 datax-web
-
直接项目里面订单调度 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 也是支持的 。
elk