我想知道,在Flink,是否有可能在运营商之间分享国家。
比方说,我在一个操作符上按键进行分区,我需要一个分区状态 A
内隔墙 C
(出于任何原因)(图1.a),或者我需要操作员的状态 C
下游运营商 F
(图1.b)。
我知道有可能 broadcast
记录到所有分区。因此,如果在记录中包含操作符的内部状态,则可以与下游操作符共享内部状态。
然而,这可能是一个昂贵的操作,而不是简单地让 op1
特别要求 op2
州。
可查询状态的最新发展是朝着这个概念发展,还是仅仅让外部用户查询拓扑的内部状态?
提前感谢您的见解
1条答案
按热度按时间db2dz4w81#
一般来说,flink的设计不允许读取或写入相同或不同运算符的其他子任务的状态。就像你说的,你可以用
broadcast
使国家在全球范围内可用。可查询状态功能用于外部用户查询。但是,我听说有用户在一个操作符中利用这个特性从同一个作业的其他操作符获取数据。我不知道这有多好(稳定性和性能方面)。如果您想尝试一下,我会向您指出用户邮件列表,以便进行更深入的技术讨论。