知识卡片

有界流与无界流

专业/工作 · 499.d

内容

有界流指有明确起止边界的数据,比如一张历史表的全量数据;无界流只有开始边界、没有结束边界,数据持续产生,计算也持续进行,比如传感器数据流。Flink把批处理当作流处理的一个特例来实现:批数据就是一种”提前知道结束点”的有界流,运行时组件对流和批的处理方式在底层是一致的——都是一条一条事件地处理。这种设计选择的价值在于,开发者不需要为批和流维护两套完全不同的执行引擎和心智模型,只是在API层面(早期版本)区分DataStream和DataSet,本质上跑的是同一套流式运行时。

参考来源

《Flink入门与实战》第2章《定义、架构与原理》