我正在尝试使用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
答案 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版本。