在随后的documentation中,注意到有状态的DoFn
的状态是按每个窗口的每个键划分的。给定的DoFn
如何确定此密钥?
例如,如果我们要创建自己的自定义CombinerFn
,则需要为每个键维护CombiningState
。这纯粹是由DoFn
的输入为KV
的事实所决定的吗?例如Dofn<KV<Key, Value>, Out>
答案 0 :(得分:0)
是正确的。 Beam中的KV
值(以及Python SDK中的元组)是一种特殊的类型,已编码为允许跑步者识别每个元素的键。
因此:是的,Beam将基于KV
中的键执行任何基于键的操作。