全局合并
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
您是否找到了您要找的所有内容?
是否所有内容都很有用且清晰?您是否希望更改任何内容?请告诉我们!


Pydoc