CombinePerKey

Pydoc Pydoc




コレクション内の各キーについてすべての要素を結合します。

Beamプログラミングガイドで詳細情報をご覧ください。

次の例では、農産物の`PCollection`を持つパイプラインを作成します。その後、`CombinePerKey`を複数の方法で適用して、`PCollection`内のすべての要素を結合します。

`CombinePerKey`は、入力として値のリストを受け取り、各キーに対してそれらを結合する関数を受け入れます。

例1:事前定義関数を使用した結合

数値の`iterable`を受け取り、それらを合計する`sum`関数を使用します。

例2:関数を使用した結合

事前定義された最大数まで数値の`iterable`を受け取り、それらを合計する`saturated_sum`関数を定義します。

例3:ラムダ関数を使用した結合

**例2**を簡素化するために、ラムダ関数を使用することもできます。

例4:複数の引数を使用した結合

`CombinePerKey`には、複数の引数を持つ関数を渡すことができます。それらは、関数の追加の位置引数またはキーワード引数として渡されます。

この例では、ラムダ関数は`values`と`max_value`を引数として受け取ります。

例5:`CombineFn`を使用した結合

要素を結合するより一般的な方法、そして最も柔軟な方法は、`CombineFn`を継承するクラスを使用することです。

次のコンバイナートランスフォームを使用できます。

GroupByも参照してください。これにより、一度に複数のフィールドを結合できます。

Pydoc Pydoc