我准备好了MR工作。
到目前为止,我正在通过调用./bin/hadoop jar jarname
来执行任务。
现在我必须从另一个java进程运行相同的MR作业。我怎么能这样做?
感谢。
答案 0 :(得分:3)
如果您确实希望使用外部Java程序中的hadoop jar
运行,可以尝试使用ProcessBuilder。
ProcessBuilder probuilder = new ProcessBuilder("hadoop jar...");
// Start the process and wait for it to finish.
Process process = processBuilder.start();
//Read output
InputStream is = process.getInputStream();
InputStreamReader ir = new InputStreamReader(is);
BufferedReader br = new BufferedReader(ir);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
int exitStatus = process.waitFor();
System.out.println("Job finished with status: " + exitStatus);