有状态DoFn如何确定分区状态的键

时间:2019-05-28 20:09:13

标签: google-cloud-dataflow apache-beam

在随后的documentation中,注意到有状态的DoFn的状态是按每个窗口的每个键划分的。给定的DoFn如何确定此密钥?

例如,如果我们要创建自己的自定义CombinerFn,则需要为每个键维护CombiningState。这纯粹是由DoFn的输入为KV的事实所决定的吗?例如Dofn<KV<Key, Value>, Out>

1 个答案:

答案 0 :(得分:0)

是正确的。 Beam中的KV值(以及Python SDK中的元组)是一种特殊的类型,已编码为允许跑步者识别每个元素的键。

因此:是的,Beam将基于KV中的键执行任何基于键的操作。