GroupBy(グループ化)

Pydoc Pydoc




要素のコレクションを受け取り、それらの要素のプロパティによってグループ化されたコレクションを生成します。

GroupByKeyとは異なり、キーは要素自体から動的に作成されます。

グループ化の例

次の例では、果物の`PCollection`を持つパイプラインを作成します。

`GroupBy`を使用して、すべての果物を名前の最初の文字でグループ化します。

必要に応じて、複数のプロパティで構成される複合キーでグループ化できます。

結果のキーは、要求された2つの属性を持つ名前付きタプルであり、値はそれに応じてグループ化されます。

グループ化したいプロパティが属性である場合、呼び出し可能な式の代わりに文字列を`GroupBy`に渡すことができます。

属性と式を混在させることができます。例えば、

集約

グループ化は集約と組み合わせて使用されることが多く、`GroupBy`変換の`aggregate_field`メソッドを使用してこれを簡単に実現できます。このメソッドは3つのパラメータを取ります。集約するフィールド(または式)、集約に使用する`CombineFn`(または連想`callable`)、最後に結果を格納するフィールド名です。例えば、各果物の購入量を計算したいとします。次のように書くことができます。

`GroupBy`のパラメータと同様に、複数のフィールドを式で集約することもできます。

もちろん、同じフィールドを複数回集約することもできます。この例では、グループ化キーが空であるため、グローバルグループ化も示しています。

Pydoc Pydoc