首页 > 解决方案 > FlinkRunner 上 Apache Beam GroupByKey.create() 的可迭代输出类型

问题描述

Apache-Beam GroupByKey.create() 转换的输出是 PCollection< KV< K,Iterable< V>>>。

当我使用 FlinkRunner (batch mode)运行代码时,我看到 Iterable< V> 是一个 ArrayList。

这是否意味着每个键的分组元素必须适合内存?

标签: apache-beam

解决方案


是的,我想是的。GroupByKey翻译用于Combiner将所有值与相同的键组合起来,并ArrayList用作其内部容器。因此,这可能是热键的潜在 NPE 问题。

实现细节:一二


推荐阅读