-Dpig.additional.jars,包含HDFS和本地文件系统上的文件

时间:2014-07-28 18:50:56

标签: hadoop mapreduce apache-pig

如何将我的本地文件系统和Hadoop分布式文件系统(HDFS)中的jar传递给-Dpig.additional.jars

假设我有两个罐子:

  1. /home/local/myjar1.jar
  2. HDFS:///user/notlocal/myjar2.jar
  3. 第一个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被视为文件(因为冒号后面跟着它)。

    我如何使这项工作?

1 个答案:

答案 0 :(得分:0)

我没有办法将Hadoop分布式文件系统(HDFS)上的jar传递给我的本地文件系统。

我想出了一个解决方法:将HDFS jar移动到本地文件系统。

我们说我有两个罐子:

  1. /home/local/myjar1.jar
  2. HDFS:///user/notlocal/myjar2.jar
  3. 第一个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