完整Flink和Spark比较.docx
- 文档编号:7650117
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:8
- 大小:334.09KB
完整Flink和Spark比较.docx
《完整Flink和Spark比较.docx》由会员分享,可在线阅读,更多相关《完整Flink和Spark比较.docx(8页珍藏版)》请在冰豆网上搜索。
完整Flink和Spark比较
Spark和flink分析对比
Spark发布历史
∙Spark1。
6.1 (Mar092016)
∙Spark1。
6。
0 (Jan042016)
∙Spark1。
5。
2 (Nov092015)
∙Spark1。
5。
1 (Oct022015)
∙Spark1.5.0 (Sep092015)
∙Spark1。
4.1 (Jul152015)
∙Spark1.4.0 (Jun112015)
∙Spark1。
3.1 (Apr172015)
∙Spark1.3。
0 (Mar132015)
∙Spark1.2.2 (Apr172015)
∙Spark1.2.1 (Feb092015)
∙Spark1.2.0 (Dec182014)
∙Spark1.1.1 (Nov262014)
∙Spark1.1.0 (Sep112014)
∙Spark1。
0。
2 (Aug052014)
∙Spark1.0.1 (Jul112014)
∙Spark1。
0。
0 (May302014)
∙Spark0。
9。
2 (Jul232014)
∙Spark0.9.1 (Apr092014)
∙Spark0.9。
0 (Feb022014)
∙Spark0。
8.1 (Dec192013)
∙Spark0.8。
0 (Sep252013)
∙Spark0.7。
3 (Jul162013)
∙Spark0。
7.2 (Feb062013)
∙Spark0.7.0 (Feb272013)
Flink发布历史
∙Flink1.0。
0(Binaries, Docs, Javadocs, ScalaDocs)2016—03-04
∙Flink0.10.2(Binaries, Docs, Javadocs, ScalaDocs)2016-02—11
∙Flink0。
9。
1(Binaries, Docs, Javadocs, ScalaDocs)2015—08-31
∙Flink0。
9。
0(Binaries, Docs, Javadocs, ScalaDocs)2015—06—23
∙Flink0。
9。
0-milestone—1(Binaries, Docs, Javadocs, ScalaDocs)2015-04-12
∙Flink0。
8。
1(Binaries, Docs, Javadocs, ScalaDocs)2015—02-19
∙Flink0。
8.0(Binaries, Docs, Javadocs, ScalaDocs)2015-01-19
∙Flink0。
7.0-incubating(Binaries, Docs, Javadocs, ScalaDocs)2014-10—26
∙Flink0.6.1—incubating(Binaries, Docs, Javadocs, ScalaDocs)2014-09—24
∙Flink0。
6—incubating(Binaries, Docs, Javadocs, ScalaDocs)2014-08-22
1.核心分析和计算原理分析
ApacheSpark
ApacheFlink
核心实现
Scala
Java
编程接口
Java,Python以及R语言
DataSetAPI 支持Java、Scala和Python。
DataStreamAPI支持JavaandScala
计算模型
Spark是基于数据片集合(RDD)进行小批量处理,采用了微批处理模型
Flink是一行一行处理,基于操作符的连续流模型。
优缺点
在流式处理方面,不可避免增加一些延时,Spark则只能支持秒级计算。
Flink的流式计算跟Storm性能差不多,支持毫秒级计算
2。
硬件需求
ApacheSpark
ApacheFlink
硬盘
推荐有 4-8 块硬盘每个节点
因Flink目前不是很成熟,管方文档没有看到硬件需求要求,其他资料上面也没有看到。
内存
8Gtohundredsofgigabytes每台机子
网络
最好万兆网卡
CPU
至少是8-16核每台机子
3.数据源集成
ApacheSpark
ApacheFlink
数据源API
NoSqldb,parquet,ORC,并且支持一些高级的操作,例如predicatepushdown
依赖map/reduceInputFormat来做数据源聚合
4。
性能对比
首先它们都可以基于内存计算框架进行实时计算,所以都拥有非常好的计算性能。
经过测试,Flink计算性能上略好.
4。
1在HadoopYARN上
测试环境:
CPU:
7000个;
内存:
单机128GB;
版本:
Hadoop2.3.0,Spark1。
4,Flink0。
9
数据:
800MB,8GB,8TB;
算法:
K—means:
以空间中K个点为中心进行聚类,对最靠近它们的对象归类。
通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
迭代:
K=10,3组数据
图5迭代次数(纵坐标是秒,横坐标是次数)
总结:
Spark和Flink全部都运行在HadoopYARN上,性能为Flink>Spark〉Hadoop(MR),迭代次数越多越明显,性能上,Flink优于Spark和Hadoop最主要的原因是Flink支持增量迭代,具有对迭代自动优化的功能.
4.2在单个节点上比较ApacheFlinkandApacheSpark
测试环境:
Ubuntu虚拟机运行WordCount计算80M文本文件,见下表
4GbRAM,1core
8GbRAM,2 cores
ApacheSpark (time)
58 sec
45 sec
ApacheFlink (time)
36sec
22sec
5.与Hadoop兼容
计算的资源调度都支持YARN的方式
ApacheSpark
ApacheFlink
与Hadoop兼容
资源调度支持YARN的方式
数据存取都支持HDFS、HBase等数据源.
不支持原生HBase的TableMapper和TableReducer这些方法。
不可以直接运行MapReducejobs
资源调度支持YARN的方式
数据存取都支持HDFS、HBase等数据源。
与Hadoop有着更好的兼容,如可以支持原生HBase的TableMapper和TableReducer,唯一不足是现在只支持老版本的MapReduce方法,可以直接运行MapReducejobs。
新版本的MapReduce方法无法得到支持
6。
SQL支持
ApacheSpark
ApacheFlink
SQL的支持
Spark支持对SQL的优化,支持的范围要大一些
Flink支持主要是对API级的优化
7.计算迭代
delta—iterations,这是Flink特有的,在迭代中可以显著减少计算,图6、图7、图8是Hadoop(MR)、Spark和Flink的迭代流程。
图6Hadoop(MR)迭代流程
图7Spark迭代流程
图8Flink迭代流程
Flink自动优化迭代程序具体流程如图9所示.
图9Flink自动优化迭代程序具体流程
8.机器学习和图形处理
ApacheSpark
ApacheFlink
机器学习
MLlib
FlinkML
图形学习
GraphX
Gelly
TensorFlow对接
无缝对接
暂未实现
9。
社区支持
Spark社区活跃度比Flink高很多。
10.总结
ApacheSpark
ApacheFlink
NoSQL数据库
支持,并且支持一些高级的操作,例如predicatepushdown
依赖map/reduceInputFormat来做数据源聚合
流式分析
支持
支持
内存数据结构
支持
支持
分布式存储系统
支持
支持
有机器学习库支持
MLlib
FlinkML
支持Python、Java语言支持
所有模块支持
部分模块支持Python:
DataSetAPI 支持Java、Scala和Python.DataStreamAPI支持JavaandScala
TensorFlow
对接
无缝对接
暂未实现
成本低廉
内存要求较高
官方暂未明确规定硬件需求
安全性
Lineage机制
和Checkpoint机制
Flink的容错机制是基于Chandy—Lamportdistributedsnapshots来实现的。
这种机制是非常轻量级的,允许系统拥有高吞吐率的同时还能提供强一致性的保障.
实时性
在流式处理方面,不可避免增加一些延时,Spark则只能支持秒级计算.
Flink的流式计算跟Storm性能差不多,支持毫秒级计算
批处理支持
支持
支持
可扩展性
方便
方便
可管理性
通过SparkUI-—数据可视化:
Spark事件的时间线视图
执行的DAG图
也可集成ApacheZeppelin
Flink提供了提交和执行所有作业的接口。
集成ApacheZeppelin,以支持数据导入(dataingestion)、数据分析(dataanalytics)、数据发现(datadiscovery)及数据协作和数据可视化.
开源平台成熟度
成熟
不太成熟
目前的确有一部分用户已经在生产环境中使用Flink了,但Flink还在发展中,还需要时间来成熟。
目前Spark相比Flink是一个更为成熟的计算框架,但是Flink的很多思路很不错。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 Flink Spark 比较
![提示](https://static.bdocx.com/images/bang_tan.gif)