技术栈
确定性
Laurence
9 个月前
flink
·
流处理
·
不确定性
·
确定性
Flink:流上的“不确定性”(Non-Determinism)
先明确一下什么叫“确定性”:对于一个“操作”来说,如果每次给它的“输入”不变,操作输出的“结果”也不变,那么这个操作就是“确定性“的。通常,我们认为批处理的操作都是确定的,比如针对一张 clicks 表,假如表中的数据没有变化,无论我们执行多少次 SELECT * FROM clicks 操作,它的结果始终不变。但是,批处理操作并不一定总是“确定性”的,如下的 SQL: