分组

Pydoc Pydoc




接受元素集合并生成分组的集合,按这些元素的属性分组。

GroupByKey 不同,键是根据元素本身动态创建的。

分组示例

在以下示例中,我们创建一个包含水果 PCollection 的管道。

我们使用 GroupBy 按水果名称的首字母对所有水果进行分组。

如果需要,我们可以按由多个属性组成的复合键进行分组。

生成的键是具有两个请求属性的命名元组,并且值相应地分组。

如果要分组的属性是一个属性,则可以在可调用表达式的位置将字符串传递给 GroupBy

可以混合使用属性和表达式,例如

聚合

分组通常与聚合一起使用,GroupBy 转换的 aggregate_field 方法可以轻松实现此目的。此方法接受三个参数:要聚合的字段(或表达式)、要聚合的 CombineFn(或关联的 callable)以及要存储结果的字段名。例如,假设要计算要购买每种水果的数量。您可以编写

GroupBy 中的参数类似,您也可以按表达式聚合多个字段。

当然,也可以多次聚合同一个字段。此示例还说明了全局分组,因为分组键为空。

Pydoc Pydoc