定义
∙ 一个批处理和流处理结合的统一计算框架
∙ 核心是一个提供了数据并发以及并行化计算的流数据处理引擎
特性
∙ 提供准确的结果,甚至在出现无序或者延迟加载的数据的情况下
∙ 它是状态化的容错的,同时在维护一次完整的的应用状态时,能无缝修复错误
∙ 大规模运行,在上千个节点运行时有很好的吞吐量和低延迟
无界流和有界流
任何类型的数据都是作为事件流产生的。信用卡交易、传感器测量、网站或移动应用程序上的用户交互等,所有这些数据都作为流生成。
数据可以作为无界或有界流处理。
无界流有一个开始但没有定义的结束。系统必须持续处理无界流,即必须在摄取事件后立即处理事件,无法等待所有输入数据到达,因为输入是无界的,在任何时间点都不会完成。处理无界数据通常要求以特定顺序(例如事件发生的顺序)摄取事件,以便推断结果完整性。
有界流具有定义的开始和结束。可以在执行任何计算之前通过摄取所有数据来处理有界流。处理有界流不需要有序摄取,因为可以始终对有界数据集进行排序。
系统架构
Flink将批处理视作一种特殊的流处理(有界流)。