6

私は PigScript に比較的慣れていません。Pig で Java UDF にパラメーターを渡す方法があるかどうか知りたいですか?

シナリオは次のとおりです。異なる列 (それぞれが別のテーブルの主キーを表す) を持つログ ファイルがあります。私の仕事は、選択した列の個別の主キー値の数を取得することです。個別の主キーを取得してそれらをカウントするジョブを実行する Pig スクリプトを作成しました。ただし、各列に新しい UDF を作成する必要があります。これを行うより良い方法はありますか?行番号をパラメーターとして UDF に渡すことができれば、複数の UDF を作成する必要がなくなります。

4

3 に答える 3

3

これを行う方法DEFINEは、UDF のコンストラクターを使用することです。顧客の「スプリッター」の例を次に示します。

REGISTER com.sample.MyUDFs.jar;
DEFINE CommaSplitter com.sample.MySplitter(',');

B = FOREACH A GENERATE f1, CommaSplitter(f2);

うまくいけば、それはその考えを伝えます。

于 2012-11-06T14:39:45.553 に答える
0

はい、UDFのタプルパラメーター入力で任意のパラメーターを渡すことができます。

exec(Tuple input)

を使用してアクセスします

input.get(index)
于 2012-10-31T18:49:18.500 に答える