2

Java を使用してアキュムレータ UDF を作成しました。ソートされていないデータに対して UDF を実行すると、Pig (0.13.0) はaccumulate必要に応じてメソッドを呼び出します。

output = FOREACH (GROUP input BY f) {
    GENERATE MyUDF(input);
}

レデューサーが累積モードで実行されていることをログが宣言しているため、機能していることがわかります。

ただし、2 番目の並べ替えを適用すると、Pig がexecメソッドを呼び出します。

output = FOREACH (GROUP input BY f) {
    sorted = ORDER input BY f2;
    GENERATE MyUDF(sorted);
}

ここでの私の懸念は、execメソッドがバッグ全体を同時にメモリに取り込むことです。入力が大きすぎてこれが機能しません。Accumulatorそれが私がインターフェースを実装した理由です。

accumulate2番目の例でメソッドが適切に使用されていない理由を知っている人はいますか? トラブルシューティング方法に関するアイデアはありますか?

4

0 に答える 0