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

标签 hadoop mapreduce apache-pig

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

假设我有两个 jar :

  1. /home/local/myjar1.jar
  2. hdfs:///user/notlocal/myjar2.jar

第一个 jar 在我的本地目录中。第二个 jar 在 HDFS 中。

我想在 Hadoop 集群上运行 test_script.pig1 并将以上两个 jar 包含在 -Dpig.additional.jars 中。

pig -x mapreduce -f test_script.pig1 -Dpig.additional.jars=/home/local/myjar1.jar:hdfs:///user/notlocal/myjar2.jar 不起作用因为 hdfs 被视为一个文件(因为它后面有一个冒号)。

我如何使它工作?

最佳答案

我没有找到将 Hadoop 分布式文件系统 (HDFS) 上的 jars 传递到本地文件系统的方法。

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

假设我有两个 jar :

  1. /home/local/myjar1.jar
  2. hdfs:///user/notlocal/myjar2.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

关于hadoop - -Dpig.additional.jars 包含 HDFS 和本地文件系统上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25002210/

相关文章:

javascript - 在 Crossfilterjs 中使用组的意外行为

hive - Hive Parquet 表中的十进制字段问题

Hadoop/Yarn 分布式 shell 示例

hadoop - hadoop mapreduce程序中的错误

hadoop - 如何将 pig 与 Cassandra 一起使用?

eclipse - PigPen Eclipse 设置

hadoop - Amazon Hadoop EMR和自定义输入文件格式

sorting - 如何使用Hadoop对任意大数据集进行排序?

hadoop - Parquet vs ORC vs ORC with Snappy

hadoop - Nutch 1.17 网络爬取与存储优化