Hadoop和PiggyBank不兼容

时间:2013-01-31 01:55:12

标签: hadoop apache-pig

我正在尝试使用org.apache.pig.piggybank.storage.MultiStorage存档中的piggybank.jar。我按照here的说明下载了pig trunk并构建了piggybank.jar。但是,当我使用MultiStorage类时,我收到以下错误。

Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected

通过查看here,看起来piggybank版本和hadoop版本之间存在版本不兼容。但我无法解决这个问题。我真的很感激这方面的任何帮助(已经花费了过多的时间)。

pig.hadoop.version:2.0.0-cdh4.1.0

  

> hadoop版本

     

Hadoop 2.0.0-cdh4.1.0 Subversion   文件:///data/1/jenkins/workspace/generic-package-ubuntu64-10-04/CDH4.1.0-Packaging-Hadoop-2012-09-29_10-56-25/hadoop-2.0.0+541-1 .cdh4.1.0.p0.27~lucid / src / hadoop-common-project / hadoop-common -r 5c0a0bddbc2aaff30a8624b5980cd4a2e1b68d18由jenkins编写于9月29日星期六11:26:31 PDT 2012来自校验和的来源   95f5c7f30b4030f1f327758e7b2bd61f

2 个答案:

答案 0 :(得分:0)

虽然我无法弄清楚如何构建兼容的piggybank.jar,但我发现兼容的piggybank.jar位于/usr/lib/pig/下。

答案 1 :(得分:0)

当我使用带有Hadoop版本Hadoop 2.4.0.2.1.5.0-695的piggybank版本0.13时,我遇到了类似的问题。然而,当我在你提到的位置 - / usr / lib / pig使用piggybank jar时,它工作了。

我做的额外观察是/ usr / lib / pig中的piggybank jar很旧,没有XPath和其他功能。我相信新的小猪罐子依赖于后来的Hadoop版本。