Java通过python命令执行DataX任务的实例
1.安装datax
2.安装python并配置环境变量
3.把mysql2odps.json文件放在datax安装目录的job文件夹下
4.运行Test.java测试
mysql2odps.json文件:
{ "job":{ "content":[ { "reader":{ "name":"mysqlreader", "parameter":{ "username":"$username", "password":"$password", "where":"optime>='$startDate$startTime'andoptime<'$endDate$endTime'", "column":["id","xm"], "connection":[ { "table":[ "test" ], "jdbcUrl":[ "$jdbcUrl" ] } ] } }, "writer":{ "name":"odpswriter", "parameter":{ "accessId":"****************", "accessKey":"******************************", "column":["id","xm"], "odpsServer":"http://service.odps.xxx.com/api", "partition":"bt=$bt,region=$region", "project":"dst_project_name", "table":"test" } } } ], "setting":{ "speed":{ "channel":10 } } } }
测试程序(我的datax安装路径为F盘根目录):
importjava.io.BufferedReader; importjava.io.InputStreamReader; publicclassTest{ publicstaticvoidmain(String[]args){ try{ System.out.println("start"); Stringwindowcmd="cmd/cpythonF:/datax/bin/datax.py-p\"-Dusername=root-Dpassword=1234-DjdbcUrl=jdbc:mysql://192.168.1.122:3306/center-Dwhere=left(optime,10)=CURDATE()-Dbt=20171214-Dregion=beijing\"F:/datax/job/mysql2odps.json"; System.out.println(windowcmd); Processpr=Runtime.getRuntime().exec(windowcmd); BufferedReaderin=newBufferedReader(newInputStreamReader(pr.getInputStream())); Stringline; while((line=in.readLine())!=null){ System.out.println(line); } in.close(); pr.waitFor(); System.out.println("end"); }catch(Exceptione){ e.printStackTrace(); } } }
以上这篇Java通过python命令执行DataX任务的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。