2

私はPIGとHadoopを初めて使用します。String を操作して文字列を返す PIG UDF を作成しました。実際には、udf にビジネス ロジックを含む既存の jar のクラスを使用します。クラスコンストラクターは、入力の処理に使用される辞書を構築するために使用する入力として 2 つのファイル名を受け取ります。mapreduce モードで動作させる方法 Pig ローカル モードでファイル名を渡そうとしましたが、正常に動作しました。しかし、mapreduce モードで動作させる方法がわかりません。分散キャッシュは問題を解決できますか?

これが私のコードです

REGISTER tokenParser.jar

REGISTER sampleudf.jar;


DEFINE TOKENPARSER com.yahoo.sample.ParseToken('conf/input1.txt','conf/input2.xml');

A = LOAD './inputHOP.txt' USING PigStorage() AS (tok:chararray);
B = FOREACH A GENERATE TOKENPARSER(tok);
STORE B into 'newTokout' USING PigStorage();

私が理解していることから、tokenParser.jar はある種の BufferedInputReader を使用している必要があります。tokenParser.jar を変更せずに動作させることは可能ですか?

4

1 に答える 1

1

はい、この同様の質問のように、分散キャッシュを使用することは、この問題を解決する良い方法です。

于 2011-02-25T21:04:09.550 に答える