Hadoop 0.20.0 から少し変更された Hadoop に pig を接続する必要があります。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)
================================================================================
誰かがこのエラーに遭遇したことがありますか、それとも私のコンパイル方法が正しくありませんか? ありがとう。