2 回答
TA贡献12条经验 获得超0个赞
flink和spark都是apache 软件基金会(ASF)旗下顶级项目,都是通用数据处理平台。它们可以应用在很多的大数据应用和处理环境。两者均可在不依赖于其他环境的情况下运行于standalone模式,或是运行在基于hadoop(YARN,HDFS)之上,由于它们均是运行于内存,所以他们表现的都比hadoop要好很多。
flink和spark的比较
数据处理
flink在批处理模式下处理数据,而Fink实时处理流数据。火花处理数据块,称为RDDS,而FLink可以实时处理行数据之后的行。因此,虽然最小的数据延迟总是在spark上存在,但spark却不是这样。
迭代
spark支持批处理中的数据迭代,但弗林克可以通过使用流式架构来对其数据进行迭代迭代。下面的图像显示了迭代处理是如何发生的。
内存管理
FLink可以自动适应不同的数据集,但spark需要手动优化和调整其作业到单个数据集。spark也进行手动分区和缓存。因此,期待一些延迟处理。
数据流
FLink在需要时能够在数据处理上提供中间结果。spark遵循过程编程系统,FLink遵循分布式数据流方法。因此,每当需要中间结果时,广播变量被用来将预先计算的结果分发给所有的工作者节点。
TA贡献1735条经验 获得超5个赞
1、Spark在SQL上的优化,尤其是DataFrame到DataSet其实是借鉴的Flink的。Flink最初一开始对SQL支持得就更好。
2、Spark的cache in memory在Flink中是由框架自己判断的,而不是用户来指定的,因为Flink对数据的处理不像Spark以RDD为单位,就是一种细粒度的处理,对内存的规划更好。
3、Flink原来用Java写确实很难看,现在也在向Spark靠拢,Scala的支持也越来越好。不管怎么说,二者目前都是在相互吸收。
- 2 回答
- 0 关注
- 1223 浏览
添加回答
举报