2013-09-26 81 views
0

我有一個MR作業準備就緒。 到目前爲止,我正在通過致電./bin/hadoop jar jarname運行任務。運行映射從另一個java進程減少任務

現在我必須從另一個java進程運行相同的MR作業。我怎樣才能做到這一點?

謝謝。

回答

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); 
+0

這會給我Hadoop MR任務執行狀態嗎? – LPD

+0

是的,請嘗試一下。你可以看到,我正在打印輸入流。 –

+1

好吧會做到這一點..謝謝一噸:) – LPD

相關問題