CombineValues

Pydoc Pydoc




組合索引鍵集合中值的可迭代項目。

請參閱 Beam 程式設計指南 以取得更多資訊。

範例

在下列範例中,我們會建立一個具有農產品 PCollection 的管線。然後,我們會以多種方式套用 CombineValues,以組合 PCollection 中索引鍵的值。

CombineValues 接受一個函式,該函式將元素 iterable 作為輸入,並將它們組合以傳回單一元素。 CombineValues 需要一個索引鍵的元素 PCollection,其中值是要組合的元素 iterable

範例 1:使用預先定義的函式組合

我們使用函式 sum,它會採用數字的 iterable 並將它們加總在一起。

範例 2:使用函式組合

我們希望總和限制在最大值內,因此我們使用 飽和算術

我們定義一個函式 saturated_sum,它會採用數字的 iterable 並將它們加總在一起,直到達到預先定義的最大值。

範例 3:使用 lambda 函式組合

我們也可以使用 lambda 函式來簡化範例 2

範例 4:使用多個引數組合

您可以將具有多個引數的函式傳遞給 CombineValues。它們會作為額外的位置引數或關鍵字引數傳遞給函式。

在此範例中,lambda 函式會採用 valuesmax_value 作為引數。

範例 5:使用 CombineFn 組合

組合元素更一般的方式,也是最彈性的方式,是使用從 CombineFn 繼承的類別。

您可以使用下列組合器轉換

Pydoc Pydoc