GroupBy(グループ化)
![]() |
要素のコレクションを受け取り、それらの要素のプロパティによってグループ化されたコレクションを生成します。
GroupByKey
とは異なり、キーは要素自体から動的に作成されます。
グループ化の例
次の例では、果物の`PCollection`を持つパイプラインを作成します。
`GroupBy`を使用して、すべての果物を名前の最初の文字でグループ化します。
必要に応じて、複数のプロパティで構成される複合キーでグループ化できます。
結果のキーは、要求された2つの属性を持つ名前付きタプルであり、値はそれに応じてグループ化されます。
グループ化したいプロパティが属性である場合、呼び出し可能な式の代わりに文字列を`GroupBy`に渡すことができます。
属性と式を混在させることができます。例えば、
集約
グループ化は集約と組み合わせて使用されることが多く、`GroupBy`変換の`aggregate_field`メソッドを使用してこれを簡単に実現できます。このメソッドは3つのパラメータを取ります。集約するフィールド(または式)、集約に使用する`CombineFn`(または連想`callable`)、最後に結果を格納するフィールド名です。例えば、各果物の購入量を計算したいとします。次のように書くことができます。
`GroupBy`のパラメータと同様に、複数のフィールドを式で集約することもできます。
もちろん、同じフィールドを複数回集約することもできます。この例では、グループ化キーが空であるため、グローバルグループ化も示しています。
関連変換
- 単一のCombineFnで結合するには、CombinePerKeyを参照してください。
- 既知のキーでグループ化するには、GroupByKeyを参照してください。
- 複数の入力コレクションの場合は、CoGroupByKeyを参照してください。
![]() |
最終更新日:2024/10/31
お探しのものはすべて見つかりましたか?
すべて役に立ち、明確でしたか?変更したいことはありますか?お知らせください!