flink和spark对比

1、技术理念不同:Spark的技术理念是使用微批来模拟流的计算,基于Micro-batch,数据流以时间为单位被切分为一个个批次,通过分布式数据集RDD进行批量处理 , 是一种伪实时 。而Flink是基于事件驱动,它是一个面向流的处理框架,Flink基于每个事件一行一行地流式处理,是真正的流式计算 。另外他也可以基于流来模拟批进行计算实现批处理 , 在技术上具有更好的扩展性 。
【flink和spark对比】2、时间机制:SparkStreaming只支持处理时间,折中地使用processing time来近似地实现event time相关的业务 。使用processing time模拟event time必然会产生一些误差,特别是在产生数据堆积的时候,误差则更明显 , 甚至导致计算结果不可用,Structured streaming 支持处理时间和事件时间,同时支持 watermark 机制处理滞后数据Flink 支持三种时间机制:事件时间、注入时间、处理时间、同时支持 watermark 机制处理迟到的数据,说明Flink在处理乱序大实时数据的时候,优势比较大 。