我必须将 pig 连接到一个从 Hadoop 0.20.0 略有变化的 hadoop。我选择 pig 0.7.0,并设置 PIG_CLASSPATH
export PIG_CLASSPATH=$HADOOP_HOME/conf
当我运行 pig 时,报错如下:
ERROR org.apache.pig.Main - ERROR 2999: Unexpected internal error. Failed to create DataStorage
因此,我复制 $HADOOP_HOME 中的 hadoop-core.jar 以覆盖 $PIG_HOME/lib 中的 hadoop20.jar,然后是“ant”。现在,我可以运行 pig,但是当我使用dump
or时store
,另一个错误:
Pig Stack Trace
---------------
ERROR 2998: Unhandled internal error. org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.setOutputPath(Lorg/apache/hadoop/mapreduce/Job;Lorg/apache/ hadoop/fs/Path;)V
java.lang.NoSuchMethodError: org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.setOutputPath(Lorg/apache/hadoop/mapreduce/Job;Lorg/apache/hadoop/fs/ Path;)V
at org.apache.pig.builtin.BinStorage.setStoreLocation(BinStorage.java:369)
...
at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:75)
at org.apache.pig.Main.main(Main.java:357)
================================================================================
有没有人遇到过这个错误,还是我的编译方式不对?谢谢。