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任务的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。