3

Java に埋め込まれた pig をテストして mapreduce モードで実行する簡単なプログラムを作成しました。私が実行しているサーバーの Hadoop のバージョンは 0.20.2-cdh3u4a で、豚のバージョンは 0.10.0-cdh3u4a です。

ローカル モードで実行しようとすると、正常に実行されます。しかし、mapreduce モードで実行しようとすると、エラーが発生します。

http://pig.apache.org/docs/r0.9.1/cont.html#embed-javaに示すように、次のコマンドを使用してプログラムを実行します

javac -cp pig.jar EmbedPigTest.java
javac -cp pig.jar:.:/etc/hadoop/conf EmbedPigTest.java input.txt

私のプログラムは次のようなエラーを出します:

Exception in thread "main" java.lang.RuntimeException: Failed to create DataStorage
        at org.apache.pig.backend.hadoop.datastorage.HDataStorage.init(HDataStorage.java:75)
        at org.apache.pig.backend.hadoop.datastorage.HDataStorage.<init>(HDataStorage.java:58)
        at org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.init(HExecutionEngine.java:214)
        at org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.init(HExecutionEngine.java:134)
        at org.apache.pig.impl.PigContext.connect(PigContext.java:183)
        at org.apache.pig.PigServer.<init>(PigServer.java:226)
        at org.apache.pig.PigServer.<init>(PigServer.java:215)
        at org.apache.pig.PigServer.<init>(PigServer.java:211)
        at org.apache.pig.PigServer.<init>(PigServer.java:207)
        at WordCount.main(EmbedPigTest.java:9)

一部のオンライン リソースでは、この問題は Hadoop のバージョンが異なるために発生すると述べています。しかし、私は何をすべきか理解していませんでした。提案してください!!

4

2 に答える 2

2

これは、間違った jar にリンクしているために発生しています。この問題について詳しく説明している以下のリンクを参照してください。

http://localsteve.wordpress.com/2012/09/30/embedding-pig-for-cdh4-java-apps-fer-realz/

于 2013-08-05T21:42:10.270 に答える
0

サービスを開始せずに map reduce モードで pig を使用しようとしたときに、同じ種類の問題に直面しました。

map reduce モードで pig を使用する前に、jps を使用するすべてのサービスを確認してください。

于 2015-10-13T18:04:09.207 に答える