因为是被誉为流计算基石的论文,所以决定花时间学习一下。
这篇论文在开篇总结了流计算的应用场景 主要是说现在对数据处理的语义越来越复杂, 对延时性的要求越来越苛刻。。
在这里对Spark Streaming的微批次流处理模型进行了批评,在流计算的时候应该遵从的理念是我们不知道数据何何时流何时被终结,何时数据会完整,唯一确信的是新的数据会源源不断的进来,老的数据会被撤销或者更新。基于这个思路来设计一个流计算编程模型。该论文的主要贡献在于
1、提出了一个统一的模型能够对无边界并且无序的数据源按照数据自身的特征进行窗口计算,然后在正确性、延时性和处理成本之间做一个调整。
2、在四个相关维度上分解管道实现,提供清晰度,可组合性和灵活性,也就是对流计算框架的设计提出了4个问题,对于这4个问题先贴出前大哥的演讲文稿中描述Flink怎么回答的这4个问题答案。
What results are being computed(定义DAG图)
Where in event time they are being computed.(定义各类窗口(固定窗口、滑动窗口和Session窗口)
When in processing time they are materialized.支持灵活定义计算触发时间
How earlier results relate to later refifinements.支持丰富的Function定义数据更新模式
论