在阅读flink文档(相关部分在下面注明)之后,我仍然没有完全理解原子性和密钥分布。Flink状态后端键atomicy和分配
即考虑由keyby-> flatmap(含有映射的状态)的设置为1与4个任务槽的曲线图,和平行度,并确保弗林克每个键只存在一次(在一个任务时隙)在分布式环境中,它是原子单位吗? 在此先感谢所有帮手。
您可以将键控状态视为操作员状态,该状态已被分区或分区,每个键只有一个状态分区。每个键控状态都逻辑上绑定到一个唯一的组合
<parallel-operator-instance, key>
,并且由于每个键“属于”一个键控运算符的并行实例,我们可以简单地将其想象为<operator, key>
。键控状态被进一步组织成所谓的密钥组。密钥组是Flink可以重新分配键控状态的原子单位;有确定的最大并行度的密钥组数量完全相同。在执行过程中,键控操作符的每个并行实例都与一个或多个键组的键一起工作。
真棒,这清除它。非常感激。 – Eliran