我正在尝试使用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()。exec的方式是错误的吗?
答案 0 :(得分:1)
使用以下命令替换您的命令:
Runtime.getRuntime().exec("HADOOP_HOME/bin/hadoop jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput");
答案 1 :(得分:1)
将类名称赋予您定义驱动程序代码的位置。
bin/hadoop jar /home/hadoop/jar/test.jar Package_name.className /user/hduser/myinput/input /user/hduser/newoutput