完整Flink和Spark比较Word格式.docx

上传人:b****5 文档编号:20772530 上传时间:2023-01-25 格式:DOCX 页数:8 大小:334.09KB
下载 相关 举报
完整Flink和Spark比较Word格式.docx_第1页
第1页 / 共8页
完整Flink和Spark比较Word格式.docx_第2页
第2页 / 共8页
完整Flink和Spark比较Word格式.docx_第3页
第3页 / 共8页
完整Flink和Spark比较Word格式.docx_第4页
第4页 / 共8页
完整Flink和Spark比较Word格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

完整Flink和Spark比较Word格式.docx

《完整Flink和Spark比较Word格式.docx》由会员分享,可在线阅读,更多相关《完整Flink和Spark比较Word格式.docx(8页珍藏版)》请在冰豆网上搜索。

完整Flink和Spark比较Word格式.docx

∙Spark1.3。

(Mar132015)

∙Spark1.2.2 

∙Spark1.2.1 

(Feb092015)

∙Spark1.2.0 

(Dec182014)

∙Spark1.1.1 

(Nov262014)

∙Spark1.1.0 

(Sep112014)

0。

(Aug052014)

∙Spark1.0.1 

(Jul112014)

(May302014)

∙Spark0。

9。

(Jul232014)

∙Spark0.9.1 

(Apr092014)

∙Spark0.9。

(Feb022014)

8.1 

(Dec192013)

∙Spark0.8。

(Sep252013)

∙Spark0.7。

(Jul162013)

7.2 

(Feb062013)

∙Spark0.7.0 

(Feb272013)

Flink发布历史

∙Flink1.0。

0(Binaries, 

Docs, 

Javadocs, 

ScalaDocs)2016—03-04

∙Flink0.10.2(Binaries, 

Javadocs, 

ScalaDocs)2016-02—11

∙Flink0。

1(Binaries, 

ScalaDocs)2015—08-31

ScalaDocs)2015—06—23

0-milestone—1(Binaries, 

Docs, 

ScalaDocs)2015-04-12

8。

ScalaDocs)2015—02-19

8.0(Binaries, 

ScalaDocs)2015-01-19

7.0-incubating(Binaries, 

ScalaDocs)2014-10—26

∙Flink0.6.1—incubating(Binaries, 

ScalaDocs)2014-09—24

6—incubating(Binaries, 

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。

硬件需求

硬盘

推荐有 

4-8 

块硬盘每个节点

因Flink目前不是很成熟,管方文档没有看到硬件需求要求,其他资料上面也没有看到。

内存

8Gtohundredsofgigabytes每台机子

网络

最好万兆网卡

CPU

至少是8-16核每台机子

3.数据源集成

数据源API

NoSqldb,parquet,ORC,并且支持一些高级的操作,例如predicatepushdown

依赖map/reduceInputFormat来做数据源聚合

4。

性能对比

首先它们都可以基于内存计算框架进行实时计算,所以都拥有非常好的计算性能。

经过测试,Flink计算性能上略好.

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 

ApacheFlink 

36sec

22sec

5.与Hadoop兼容

计算的资源调度都支持YARN的方式

与Hadoop兼容

资源调度支持YARN的方式

数据存取都支持HDFS、HBase等数据源.

不支持原生HBase的TableMapper和TableReducer这些方法。

不可以直接运行MapReducejobs

数据存取都支持HDFS、HBase等数据源。

与Hadoop有着更好的兼容,如可以支持原生HBase的TableMapper和TableReducer,唯一不足是现在只支持老版本的MapReduce方法,可以直接运行MapReducejobs。

新版本的MapReduce方法无法得到支持

SQL支持

SQL的支持

Spark支持对SQL的优化,支持的范围要大一些

Flink支持主要是对API级的优化

7.计算迭代

delta—iterations,这是Flink特有的,在迭代中可以显著减少计算,图6、图7、图8是Hadoop(MR)、Spark和Flink的迭代流程。

图6Hadoop(MR)迭代流程

图7Spark迭代流程

图8Flink迭代流程

Flink自动优化迭代程序具体流程如图9所示.

图9Flink自动优化迭代程序具体流程

8.机器学习和图形处理

机器学习

MLlib 

FlinkML

图形学习

GraphX

Gelly

TensorFlow对接

无缝对接

暂未实现

社区支持

Spark社区活跃度比Flink高很多。

10.总结

NoSQL数据库

支持,并且支持一些高级的操作,例如predicatepushdown

流式分析

支持

内存数据结构

分布式存储系统

有机器学习库支持

支持Python、Java语言支持

所有模块支持

部分模块支持Python:

支持Java、Scala和Python.DataStreamAPI支持JavaandScala

TensorFlow

对接

成本低廉

内存要求较高

官方暂未明确规定硬件需求

安全性

Lineage机制

和Checkpoint机制

Flink的容错机制是基于Chandy—Lamportdistributedsnapshots来实现的。

这种机制是非常轻量级的,允许系统拥有高吞吐率的同时还能提供强一致性的保障.

实时性

在流式处理方面,不可避免增加一些延时,Spark则只能支持秒级计算.

批处理支持

可扩展性

方便

可管理性

通过SparkUI-—数据可视化:

Spark事件的时间线视图

执行的DAG图

也可集成ApacheZeppelin

Flink提供了提交和执行所有作业的接口。

集成ApacheZeppelin,以支持数据导入(dataingestion)、数据分析(dataanalytics)、数据发现(datadiscovery)及数据协作和数据可视化.

开源平台成熟度

成熟

不太成熟

目前的确有一部分用户已经在生产环境中使用Flink了,但Flink还在发展中,还需要时间来成熟。

目前Spark相比Flink是一个更为成熟的计算框架,但是Flink的很多思路很不错。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1