什么是 Flink State,作用是什么
state用来存放计算过程的节点中间结果或元数据等, 并提供Exactly-Once语义。
在流计算场景中, 数据没有边界源源不断的流入的, 每条数据流入都可能会触发计算, 比如在进行count或sum这些操作, 是选择每次触发计算将所有流入的历史数据重新计算一边还是每次计算都基于上次计算结果进行增量计算呢? 从综合考虑角度, 很多人都会 选择增量计算, 那么问题就产生了: 上一次的中间计算结果保存在哪里? 内存? 这其中会由于本身的网络, 硬件或软件等问题造成某个计算节点失败, 对应的上次计算结果就会丢失, 在节点恢复时, 是需要将所有历史数据重新计算一遍的, 对于这样的结果大家是很难接受的.
作者: 神奇的考拉 链接: https://www.jianshu.com/p/595ba0a2760b 来源: 简书 著作权归作者所有. 商业转载请联系作者获得授权, 非商业转载请注明出处.
赞0
踩0