CombinePerKey

Pydoc Pydoc




合并集合中每个键的所有元素。

Beam 编程指南 中查看更多信息。

示例

在以下示例中,我们创建一个带有 PCollection 的管道,该管道包含农产品。然后,我们以多种方式应用 CombinePerKey 来合并 PCollection 中的所有元素。

CombinePerKey 接受一个函数,该函数将值列表作为输入,并为每个键合并它们。

示例 1:使用预定义函数合并

我们使用函数 sum,它接收一个数字的 iterable 并将它们加在一起。

示例 2:使用函数合并

我们定义了一个函数 saturated_sum,它接收一个数字的 iterable 并将它们加在一起,直到达到预定义的最大值。

示例 3:使用 lambda 函数合并

我们也可以使用 lambda 函数来简化 示例 2

示例 4:使用多个参数合并

您可以将具有多个参数的函数传递给 CombinePerKey。它们作为额外的位置参数或关键字参数传递给该函数。

在此示例中,lambda 函数接受 valuesmax_value 作为参数。

示例 5:使用 CombineFn 合并

合并元素的更通用方法,也是最灵活的方法,是使用从 CombineFn 继承的类。

您可以使用以下合并器转换

另请参见 GroupBy,它允许您同时合并多个字段。

Pydoc Pydoc