如何将我的本地文件系统和Hadoop分布式文件系统(HDFS)中的jar传递给-Dpig.additional.jars
?
假设我有两个罐子:
第一个jar在我的本地目录中。第二个jar是HDFS。
我想在Hadoop集群上运行test_script.pig1
并在-Dpig.additional.jars
中包含上述两个广告。
pig -x mapreduce -f test_script.pig1 -Dpig.additional.jars=/home/local/myjar1.jar:hdfs:///user/notlocal/myjar2.jar
不起作用,因为hdfs
被视为文件(因为冒号后面跟着它)。
我如何使这项工作?
答案 0 :(得分:0)
我没有办法将Hadoop分布式文件系统(HDFS)上的jar传递给我的本地文件系统。
我想出了一个解决方法:将HDFS jar移动到本地文件系统。
我们说我有两个罐子:
第一个jar在我的本地目录中。第二个jar是HDFS。
我将HDFS上的myjar2.jar
复制到我的本地文件系统:
hadoop fs -copyToLocal /user/notlocal/myjar2.jar /home/local/
pig -x mapreduce -f test_script.pig1 -Dpig.additional.jars=/home/local/myjar1.jar:/home/local/myjar2.jar