aff*_*ffo 5 dataflow stream-processing apache-flink
我想知道在 Flink 中是否可以在运营商之间共享状态。
例如,假设我在操作符上按键进行分区,并且我需要分A区内的一段分区状态C(出于任何原因)(图 1.a),或者我需要C下游操作符中的操作符状态F(图 1 .b)
我知道可以broadcast记录到所有分区。因此,如果您在记录中包含操作符的内部状态,则可以与下游操作符共享您的内部状态。
然而,这可能是一个昂贵的操作,而不是简单地让op1具体请求op2状态。
最近围绕可查询状态的发展是否朝着这个概念发展,或者它们只是为了让外部用户查询拓扑的内部状态?
预先感谢您的见解
一般来说,Flink 的设计不允许读取或写入相同或不同算子的其他子任务的状态。正如您所说,您可以使用broadcast使状态全局可用。可查询状态功能适用于外部用户查询。
但是,我听说有用户利用运算符中的此功能从同一作业的其他运算符中获取数据。我不知道这效果如何(稳定性和性能方面)。如果您想尝试一下,我会向您指出用户邮件列表以进行更深入的技术讨论。
| 归档时间: |
|
| 查看次数: |
1498 次 |
| 最近记录: |