我想用 org.apache.pig.piggybank.storage.MultiStorage
从 piggybank.jar
档案文件。我下载了 pig trunk
并按照这里的说明构建piggybank.jar。但是,当我使用multistorage类时,我得到下面的错误。 Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected
从这里看,看起来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\ u 10-56-25/hadoop-2.0.0+541-1.cdh4.1.0.p0.27~ lucid/src/hadoop common project/hadoop common-r 5c0a0bddbc2aaff30a8624b59080cd4a2e1b68d18由jenkins于2012年9月29日星期六11:26:31从源代码通过校验和编译95F5C7F30B4300F1F327758E7B2BD61F
2条答案
按热度按时间u59ebvdq1#
虽然我不知道如何构建一个兼容的piggybank.jar,但我发现
piggybank.jar
位于下面/usr/lib/pig/
.jogvjijk2#
当我使用piggybankversion0.13和hadoop版本hadoop2.4.0.2.1.5.0-695时,我也遇到了类似的问题。但是,当我在您提到的位置使用piggybank jar时,它起了作用--/usr/lib/pig。
我的另一个观察是/usr/lib/pig中的piggybankjar非常旧,没有可用的xpath和其他函数。我相信新的piggyjar依赖于后来的hadoop版本。