Apache Flink击败Spark成为最佳大数据分析框架

作者 : 开心源码 本文共1843个字,预计阅读时间需要5分钟 发布时间: 2022-05-12 共172人阅读

Apache Flink是一个用于大数据解决的Apache项目。尽管它看起来像Apache Spark,但二者在架构和想法上有很大差异。Apache Flink的目标是实时解决流数据。Apache Spark被认为是功能成熟的实时解决架构的先驱,它的微批解决架构支持近实时(NRT)场景,而Apache Flink支持实时的。

Apache Flink击败Spark成为最佳大数据分析框架

Apache Flink以前叫Stratosphere,是用Java写的,但是一直不温不火,近几年经过改良,加入了很多用scala写的功能,知乎上很多网友认为Apache Flink是模(chao)仿(xi)Apache Spark,假如真是这样,就像是上学时代那个天天抄你的答案却比你分高的同桌一样,Apache Flink可能会比Spark更具发展前景。

Apache Flink本来的定义是高吞吐量和低推迟的流解决框架,它也支持批解决。该架构是其余大数据解决架构的翻转,其中主要的概念是批解决框架。这是很多公司在过去十年一直在寻觅的东西,也是要求低推迟甚至毫秒推迟都可能导致严重后果的应用平台所需要的。Apache Flink的前景似乎很不错,看起来像流解决的终极框架。

“我认为流式数据分析是Flink最主要的特性。因为其流水线的架构,Flink是Apache堆栈中大数据流解决的最完美搭档。”,柏林技术大学数据库系统和信息管理小组教授Volker Markl说道。

Apache Flink的核心是运行时,架构图如下所示:

Apache Flink击败Spark成为最佳大数据分析框架

Runtime是Flink的核心,一个分布式流式数据流引擎,提供数据分发和通信。流式数据流引擎将每个程序解释为数据流图。

Flink的少量核心特性是:

1、将所有内容作为流执行,并实时解决数据行。

2、支持迭代执行,并遵循分布式数据流方法,这对于实现大数据分析至关重要。

3、引擎是多功能的,允许执行现有的MapReduce或者Storm应用程序。

4、它有流和批解决流程的优化器。

5、内存管理由引擎自动优化和管理。

Apache Flink击败Spark成为最佳大数据分析框架

在Runtime之上,有用于Stream解决的DataStream API和用于批解决的DataSet API。 还有关于DatasStream的特定API和库,以及DataSet API的形容:

1、Table API支持对数据使用SQL查询。它们很容易嵌入在DataStream和DataSets API中,并支持关系运算符(如选择,聚合和连接)的使用。

2、Flink ML,是Flink的机器学习库,提供了机器学习Pipelines API并实现了多种机器学习算法。它可通过DataSet API执行机器学习任务,它使客户能够编写ML管道,使其更容易解决机器学习工作流程。ML管道将ML流的不同步骤绑定在一起,使其有效地在生产环境中准备和部署模型。

3、Gelly,Flink的图计算库,提供了图计算的相关API及多种图计算算法实现。它提供了一组操作符来创立和修改图形,图形由边缘的DataSet和顶点的DataSet表示。Gelly仅适用于DataSet API,并且只能用于批解决。

4、Flink CEP是Flink的复杂事件解决库。它允许客户快速检测无尽数据流中的复杂事件模式。Flink CEP仅可用于通过DataStream API的流解决。

此外,Flink也可以方便地和Hadoop生态圈中其余项目集成,例如Flink可以读取存储在HDFS或者HBase中的静态数据,以Kafka作为流式的数据源,直接重用MapReduce或者Storm代码,或者是通过YARN申请集群资源等。

Apache Flink击败Spark成为最佳大数据分析框架

以下是其与Apache Spark的少量关键差异:

1、流解决:Spark是一个面向批解决的系统,它对数据块(称为RDD)进行操作,但Apache Flink是一个能够实时解决行的流解决系统。

2、迭代:通过利用其流架构,Flink允许本地迭代数据,Spark只支持批解决。

3、内存管理:Spark必需优化和适应特定的数据集,由于假如你想要得到正确的结果,你需要手动控制分区和缓存。

4、成熟:Flink仍处于起步阶段,只有一些生产部署案例,而Spark已经相当成熟了。

5、数据流:与过程式编程范例相反,Flink遵循分布式数据流方法。除了事务的常规输入之外还需要中间结果的数据集操作,广播变量用于将预先的计算结果分发给所有工作节点。

Apache Flink不像Apache Spark那么成熟,由于它相对较新,生产部署案例也很少。然而,凭借其强大的流解决功能,它还是被视为下一代大数据分析的最佳框架。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Apache Flink击败Spark成为最佳大数据分析框架

发表回复