0

ピッグ スクリプトを Python に埋め込もうとしていますが、例外が発生し、何が問題なのかがわかりません。Pig スクリプトが埋め込まれた Python スクリプトがあり、Apache PIG 0.10 がインストールされています。シェルから豚のスクリプトを実行でき、問題なく動作します。コマンドを使用してシェルから豚を埋め込んでpythonスクリプトを実行すると

pig -x mapreduce pythonscript.pyそれは私にエラーを与える

Pig 起動前のエラー -------------------------------- エラー 2998: 未処理の内部エラー。組織/python/util/PythonInterpreter

java.lang.NoClassDefFoundError: org.apache.pig.scripting.jython.JythonScriptEngine.main (JythonScriptEngine.java:338) の org/python/util/PythonInterpreter

$PIG_CLASSPATHpig コマンドを実行する前に、シェルの環境変数に Jython jar を追加しようとしました。それは役に立ちません。

他の人もこの問題に遭遇しているようですが、解決策を見つけた人はいますか? ポインタはありますか?

4

1 に答える 1

1

Ok。解決策を見つけました。このエラーも表示される場合は、これがお役に立てば幸いです。

1) Jython インストーラー jar をダウンロードしました。2) java -jar で実行しました。 3) インストールの場所を指定しました。 4) Jython 実行可能シェル スクリプトを PATH 環境変数に追加しました。5) jython jar をインストール フォルダーから HADOOP_HOME/lib フォルダーにコピーしました。すなわち。hadoop の下の lib フォルダー。

ほとんどの場合、ステップ 5 はディール メーカーです。しかし、これらは私が従った手順です。Jython jar を PIG にコピー/設定しても効果がないようです。その上にPigを配置した疑似クラスターモードでHadoopを実行しています。そして、Pig は独自の lib ではなく、HADOOP ベースの jar を使用しているようです!!

この後、それは魅力のように実行されます。

于 2012-12-10T07:49:24.447 に答える