2016-04-27 86 views
0

我想使用Runtime.exec從JAVA運行hadoop jar命令。 下面是示例代碼:使用Runtime.exec從JAVA運行hadoop jar命令

Runtime.getRuntime().exec(new String[]{"bin/hadoop", "jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput"}); 

但是我沒有得到期望的輸出。下面是我想要從JAVA執行的hadoop命令:

bin/hadoop jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput 

我也沒有收到任何異常。 Runtime.getRuntime().exe被使用的方式是錯誤的嗎?

回答

1

替換以下命令在命令:

Runtime.getRuntime().exec("HADOOP_HOME/bin/hadoop jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput"); 
+0

我的檔案在HADOOP_HOME還需要嗎? – amod

+0

如果你的工作目錄是HADOOP_HOME,並且你正在運行它,所以它不需要 –

+1

你確定這是運行這個命令的正確方法,因爲我沒有看到這個工作。這也沒有給我一個錯誤或什麼。 – amod

1

給,你所定義的驅動程序代碼的類名。

bin/hadoop jar /home/hadoop/jar/test.jar Package_name.className /user/hduser/myinput/input /user/hduser/newoutput