全局合并
Pydoc |
合并集合中的所有元素。
有关更多信息,请参见 Beam 编程指南。
示例
在以下示例中,我们创建一个具有 PCollection
产品的管道。然后,我们以多种方式应用 CombineGlobally
来合并 PCollection
中的所有元素。
CombineGlobally
接受一个函数,该函数将元素的 iterable
作为输入,并将它们合并以返回单个元素。
示例 1:使用函数合并
我们定义一个函数 get_common_items
,它将集合的 iterable
作为输入,并计算这些集合的交集(公共项)。
示例 2:使用 lambda 函数合并
我们也可以使用 lambda 函数来简化 **示例 1**。
示例 3:使用多个参数合并
您可以将具有多个参数的函数传递给 CombineGlobally
。它们作为附加的位置参数或关键字参数传递给函数。
在此示例中,lambda 函数将 sets
和 exclude
作为参数。
示例 4:使用 CombineFn
合并
合并元素的更通用的方法,也是最灵活的方法,是使用继承自 CombineFn
的类。
CombineFn.create_accumulator()
:这将创建一个空累加器。例如,求和的空累加器将为0
,而乘积(乘法)的空累加器将为1
。CombineFn.add_input()
:每个元素调用 一次。它接受一个累加器和一个输入元素,将它们合并并返回更新后的累加器。CombineFn.merge_accumulators()
:可以并行处理多个累加器,因此此函数有助于将它们合并成一个累加器。CombineFn.extract_output()
:它允许在提取结果之前执行其他计算。
相关转换
您可以使用以下组合器转换
Pydoc |
上次更新时间:2024/10/31
您是否找到了您要找的所有内容?
是否所有内容都很有用且清晰?您是否希望更改任何内容?请告诉我们!