0

私はHadoopとPigを初めて使用します。UDFメソッドを内部的に呼び出すpigスクリプトを実行する方法を知りたいですか?問題は、PigUDFマニュアルサイトのように言及されている「registerblah.jar」というステートメントが表示されないことです。

register myudfs.jar;
A = load 'student_data' as (name: chararray, age: int, gpa: float);
B = foreach A generate flatten(myudfs.Swap(name, age)), gpa;
C = foreach B generate $2;
D = limit B 20;
dump D;

しかし、「blah.jar」を含む「jar」ディレクトリが表示されます。私の同僚はすでに去っていたので、私はトリックが何だったのだろうか?たぶん私はjarファイルをコマンドラインに追加できますか?

どうもありがとう!

4

1 に答える 1

1

スクリプトにステートメントがない場合(そしてスクリプトが有効である場合)、Pigの組み込み関数REGISTERを除いてUDFを呼び出しません。UDFを使用する場合は、ステートメントが必要になります。 UDFが呼び出されない場合は不要です。これが、使用しているスクリプトにUDFが表示されない理由である可能性があります。REGISTERREGISTER

これは、 UDFの作成に関する優れたリファレンスです。作成したら、jarファイルにコンパイルする必要があります。また、依存するクラス(EvalFuncなど)も必ず含めてください。これはあなたがする瓶ですREGISTER

于 2012-11-19T21:41:06.920 に答える