Flink - 流处理与批处理的区别

2,043 阅读1分钟

在 Flink 的官方文档中对流数据和批数据有一个简单的说明.如图:

image.png

用一条时间轴来表示一个持续输入的数据流,那么当截取某一段时间内的数据时,也就时这段有开始时间和结束时间的数据,其实就是一批数据。也就是批数据时某段时间流数据的静态表示,也就是一段有界的流数据。针对这段有界的流数据,可以进行批操作也可以进行流操作。而对于没有结束时间的无界数据流,只能进行流操作,无法进行批操作。

流计算与批计算的对比

  • 数据的时效性不同:流式计算实时,低延迟;批计算非实时,高延迟。
  • 数据特征不同: 流式计算的数据一般是动态的,没有边界的,而批处理的数据一般是静态数据。
  • 应用场景不同: 流计算的应用场景是实时场景,时效性要求比较高的场景,入实时推荐,业务监控等。 批处理应用在实时性要求不高,离线计算的场景下,如数据分析,离线报表等。
  • 运行方式不同:流计算的任务是持续进行的,批量计算的任务是一次性完成的。