[英]How to run pentaho pig job in java
I have created job in spoon where i am using pig script executor.in UI it works fine.it is calling pig script and giving desired output 我在汤匙中创建了作业,我在其中使用猪脚本执行器。在UI中它工作正常。它正在调用猪脚本并提供所需的输出
Output(s): Successfully stored 445454 records (15256953 bytes) in: "/hive/warehouse/weblogs/aggregate_pig_test3" 输出:已成功将445454条记录(15256953字节)存储在“ / hive / warehouse / weblogs / aggregate_pig_test3”中
Counters: Total records written : 445454 Total bytes written : 15256953 Spillable Memory Manager spill count : 0 Total bags proactively spilled: 0 Total records proactively spilled: 0 计数器:总共写入记录:445454总共写入字节:15256953 Spillable Memory Manager溢出计数:0主动溢出的总包数:0主动溢出的总记录数:0
Job DAG: job_local270305097_0001 2016/04/06 17:24:12 - Pig Script Executor - 2016/04/06 17:24:12 - Success! Job DAG:job_local270305097_0001 2016/04/06 17:24:12-Pig脚本执行程序-2016/04/06 17:24:12-成功! 2016/04/06 17:24:12 - Pig Script Executor - Num successful jobs: 1 num failed jobs: 0 2016/04/06 17:24:12-Pig Script Executor-成功的作业数:1失败的作业数:0
now when i use same .kjb file in java i dont get desired output.it seems like my script is not executed still i am not getting any exception 现在当我在Java中使用相同的.kjb文件时,我没有得到所需的output。似乎我的脚本没有执行,但我没有任何异常
my java code 我的java代码
KettleEnvironment.init();
Properties props = new Properties();
JobMeta metadata = new JobMeta("pig.kjb",null);
Job job = new Job (null, metadata);
job.start();
job.waitUntilFinished();
System.err.println(job.getStatus());
if (job.getErrors()!=0) {
System.out.println("Error encountered!");
}
} catch (KettleException e) {
e.printStackTrace();
}
}
output of java method: java方法的输出:
2016/04/06 18:25:59 - pig - Start of job execution 2016/04/06 18:25:59 - pig - Starting entry [Pig Script Executor] 2016/04/06 18:25:59 - pig - Finished job entry [Pig Script Executor] (result= 2016/04/06 18:25:59 - pig - Job execution finished 2016/04/06 18:25:59-猪-开始执行工作2016/04/06 18:25:59-猪-开始输入[猪脚本执行器] 2016/04/06 18:25:59-猪-完成作业输入[Pig Script Executor](结果= 2016/04/06 18:25:59-Pig-作业执行完成
But nothing happens.like above in spoon UI it stores file. 但是什么也没发生。像上面的勺子UI一样,它存储文件。 I dont know what is missing. 我不知道缺少什么。 Why is my java code is not executing. 为什么我的Java代码未执行。
我错过了-DKETTLE_PLUGIN_BASE_FOLDERS,这是在pentaho中进行hadoop配置所必需的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.