GroupBy

Pydoc Pydoc




取得元素集合,並產生依據這些元素的屬性分組的集合。

GroupByKey 不同,鍵值是從元素本身動態建立的。

分組範例

在以下範例中,我們建立一個具有水果 PCollection 的管線。

我們使用 GroupBy 依據名稱的第一個字母將所有水果分組。

如果需要,我們可以依據由多個屬性組成的複合鍵值分組。

產生的鍵值是一個具名的元組,具有兩個請求的屬性,而值會相應地分組。

如果想要分組的屬性是一個屬性,則可以將字串傳遞至 GroupBy 以取代可呼叫的運算式。

可以混合和比對屬性和運算式,例如

聚合

分組通常與聚合結合使用,而 GroupBy 轉換的 aggregate_field 方法可以用於輕鬆完成此操作。此方法採用三個參數:要聚合的欄位(或運算式)、要用來聚合的 CombineFn (或關聯的 callable),最後是要儲存結果的欄位名稱。例如,假設有人想要計算要購買的每種水果的數量。可以寫

GroupBy 中的參數類似,也可以聚合多個欄位和運算式。

當然,也可以多次聚合相同的欄位。此範例也說明了全域分組,因為分組鍵值為空。

Pydoc Pydoc