flink和spark对比

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flink和spark对比相关的知识,希望对你有一定的参考价值。

参考技术A 技术理念不同:Spark的技术理念是使用微批来模拟流的计算,基于Micro-batch,数据流以时间为单位被切分为一个个批次,通过分布式数据集RDD进行批量处理,是一种伪实时。而Flink是基于事件驱动,它是一个面向流的处理框架,Flink基于每个事件一行一行地流式处理,是真正的流式计算。

1、技术理念不同:Spark的技术理念是使用微批来模拟流的计算,基于Micro-batch,数据流以时间为单位被切分为一个个批次,通过分布式数据集RDD进行批量处理,是一种伪实时。而Flink是基于事件驱动,它是一个面向流的处理框架, Flink基于每个事件一行一行地流式处理,是真正的流式计算。 另外他也可以基于流来模拟批进行计算实现批处理,在技术上具有更好的扩展性。

2、时间机制:SparkStreaming只支持处理时间, 折中地使用processing time来近似地实现event time相关的业务。使用processing time模拟event time必然会产生一些误差, 特别是在产生数据堆积的时候,误差则更明显,甚至导致计算结果不可用,Structured streaming 支持处理时间和事件时间,同时支持 watermark 机制处理滞后数据Flink 支持三种时间机制:事件时间、注入时间、处理时间、同时支持 watermark 机制处理迟到的数据,说明Flink在处理乱序大实时数据的时候,优势比较大。

实时计算框架Flink,Spark Streaming,Storm对比


实时计算框架Flink,Spark Streaming,Storm对比

对比分析

如果对延迟要求不高的情况下,建议使用Spark Streaming,丰富的高级API,使用简单,天然对接Spark生态栈中的其他组 件,吞吐量大,部署简单,UI界面也做的更加智能,社区活跃度较高,有问题响应速度也是比较快的,比较适合做流式的ETL,而 且Spark的发展势头也是有目共睹的,相信未来性能和功能将会更加完善。


如果对延迟性要求比较高的话,建议可以尝试下Flink,Flink是目前发展比较火的一个流系统,采用原生的流处理系统,保证了低延迟性,在API和容错性上也是做的比较完善,使用起来相对来说也是比较简单的,部署容易,而且发展势头也越来越好,相信后面社区问题的响应速度应该也是比较快的。

 

个人对Flink是比较看好的,因为原生的流处理理念,在保证了低延迟的前提下,性能还是比较好的,且越来越易用,社区也在不断 发展。


Flink相关文档



喜欢就点一下「好看」和「 广告支持下呗~

以上是关于flink和spark对比的主要内容,如果未能解决你的问题,请参考以下文章

flink和spark对比

Spark与Flink:对比与分析

实时计算框架Flink,Spark Streaming,Storm对比

Spark Streaming和Flink的Word Count对比

Spark Streaming和Flink的Word Count对比

Spark Streaming和Flink的Word Count对比