实际问题

在流计算场景中,数据会源源不断的流入Apache Flink系统,每条数据进入Apache
Flink系统都会触发计算。如果我们想进行一个Count聚合计算,那么每次触发计算是将历史上所有流入的数据重新新计算一次,还是每次计算都是在上一次计算结果之上进行增量计算呢?答案是肯定的,Apache
Flink是基于上一次的计算结果进行增量计算的。那么问题来了:
"上一次的计算结果保存在哪里,保存在内存可以吗?",答案是否定的,如果保存在内存,在由于网络,硬件等原因造成某个计算节点失败的情况下,上一次计算结果会丢失,在节点恢复的时候,就需要将历史上所有数据(可能十几天,上百天的数据)重新计算一次,所以为了避免这种灾难性的问题发生,Apache
Flink 会利用State存储计算结果。本篇将会为大家介绍Apache Flink S