0

標準的な豚のワードカウントの例では、単語ごとにグループ化すると多くの (多くの) 要素を含むバッグになる可能性があるという条件を最適化するために、人々がどのようにアプローチしているかに興味があります。

例えば:

A = load 'input.txt';
B = foreach A generate flatten(TOKENIZE((chararray)$0)) as word;
C = group B by word;
D = foreach C generate COUNT(B), group;

行 C で、入力ファイルに 10 億回出現する "the" などの単語がある場合、処理中にレデューサーが非常に長時間ハングする可能性があります。これを最適化するにはどうすればよいでしょうか?

4

1 に答える 1

0

いずれにせよ、PIG はコンバイナーを使用できるかどうかを評価し、使用できる場合は使用します。

あなたの例の場合、単語ごとのキーと値のペアの数を最良の場合にはいくつかまたは1つだけに減らすコンバイナーが明らかに導入されます。したがって、レデューサー側では、特定の単語ごとに膨大な数のキー/値が発生することはありません。

于 2013-04-27T05:53:56.010 に答える