流式计算领域新霸主Flink的那些事儿

  • 时间:
  • 浏览:2
  • 来源:uu快3手机版ios_uu快3app邀请码_在线官网

表1 流式计算框架对比

Flink主要由Java代码实现,它同时支持实时流处里和批处里。对于Flink而言,作为几次多流处里框架,批数据全都流数据的几次多极限特例而已。此外,Flink还支持迭代计算、内存管理和多多线程 优化,这是它的原生社会形态。

图1.2 Flink架构

Flink在如下类型的公司含有具体的应用。

图1.1 Flink的功能社会形态

由图1.1可知,Flink的功能社会形态如下。

徐葳

在这里对这几种框架进行对比。

这有一种数据传输模式是几次多极端,对应的是流处里系统对低延迟和批处里系统对高吞吐的要求。Flink的执行引擎采用了有一种十分灵活的辦法 ,同时支持了这有一种数据传输模型。Flink以固定的缓存块为单位进行网络数据传输,用户要能通过设置缓存块超时值指定缓存块的传输时机。是因为着缓存块的超时值为0,则Flink的数据传输辦法 类似 于前面所提到的流处里系统的标准模型,此时系统要能获得最低的处里延迟;是因为着缓存块的超时值为无限大,则Flink的数据传输辦法 类似 于前面所提到的批处里系统的标准模型,此时系统要能获得最高的吞吐量。缓存块的超时值可是我能设置为0到无限大之间的任意值,缓存块的超时阈值越小,Flink流处里执行引擎的数据处里延迟就越低,但吞吐量也会降低,反之亦然。通过调整缓存块的超时阈值,用户可根据需求灵活地权衡系统延迟和吞吐量。

全都人是在2015年才听到Flink你这一 词的,确实 早在5008年,Flink的前身就是因为着是柏林理工大学的几次多研究性项目,在2014年你这一 项目被Apache孵化器所接受后,Flink好快了 了 成为ASF(Apache Software Foundation)的顶级项目之一。截至目前,Flink的版本经过了多次更新,本书基于1.6版本写作。

Flink入门与实战

图1.4 Flink和Storm的吞吐量对比

在大数据处里领域,批处里与流处里一般被认为是有一种截然不同的任务,几次多大数据框架一般会被设计为要能处里其中有一种任务。比如,Storm只支持流处里任务,而MapReduce、Spark只支持批处里任务。Spark Streaming是Apache Spark之上支持流处里任务的子系统,这看似是几次多特例,确实 不然——Spark Streaming采用了有一种Micro-Batch架构,即把输入的数据流切分成细粒度的Batch,并为每几次多Batch数据提交几次多批处里的Spark任务,全都Spark Streaming本质上还是基于Spark批处里系统对流式数据进行处里,和Storm等详细流式的数据处里辦法 详细不同。通过灵活的执行引擎,Flink要能同时支持批处里任务与流处里任务。在执行引擎层级,流处里系统与批处里系统最大的不同在于节点间的数据传输辦法 。如图1.3所示,对于几次多流处里系统,其节点间数据传输的标准模型是,在处里完成一根绳子 绳子 数据后,将其序列化到缓存中,并立刻通过网络传输到下几次多节点,由下几次多节点继续处里。而对于几次多批处里系统,其节点间数据传输的标准模型是,在处里完成一根绳子 绳子 数据后,将其序列化到缓存中,当缓存写满时,就持久化到本地硬盘上;在所有数据都被处里完成后,才现在刚开始将其通过网络传输到下几次多节点。

官网中Flink和Storm的吞吐量对比如图1.4所示。

前面大伙儿分析了3种实时计算框架,没办法 公司在实际操作时到底选择哪种技术框架呢?下面大伙儿来分析一下。

Flink架构要能分为4层,包括Deploy层、Core层、API层和Library层,如图1.2所示。

本书旨在帮助读者从零现在刚开始快速掌握Flink的基本原理与核心功能。本书首先介绍了Flink的基本原理和安装部署,并对Flink中的其他核心API进行了详细分析。有可是我配套对应的案例分析,分别使用Java代码和Scala代码实现案例。最后通过几次多项目演示了Flink在实际工作中的其他应用场景,帮助读者快速掌握Flink开发。

Flink项目是大数据计算领域冉冉升起的一颗新星。大数据计算引擎的发展经历了几次过程,从第1代的MapReduce,到第2代基于有向无环图的Tez,第3代基于内存计算的Spark,再到第4代的Flink。是因为着Flink要能基于Hadoop进行开发和使用,全都Flink不须会取代Hadoop,全都和Hadoop紧密结合。Flink主要包括DataStream API、DataSet API、Table API、SQL、Graph API和FlinkML等。现在Flink全是本人的生态圈,涉及离线数据处里、实时数据处里、SQL操作、图计算和机器学习库等。

Flink是几次多开源的流处里框架,它具有以下特点。

从图1.2可知, Flink对底层的其他操作进行了封装,为用户提供了DataStream API和DataSet API。使用哪些地方地方API要能很方便地完成其他流数据处里任务和批数据处里 任务。

Flink主要应用于流式数据分析场景,目前涉及如下领域。

读者应该对Hadoop和Storm多多线程 有所了解,在Hadoop中实现几次多MapReduce都要几次多阶段——Map和Reduce,而在Storm中实现几次多Topology则都要Spout和Bolt组件。有可是我,是因为着大伙儿想实现几次多Flink任务一段话,也都要有类似 的逻辑。Flink中提供了几次组件,包括DataSource、Transformation和DataSink。

Storm是比较早的流式计算框架,可是我又老出了Spark Streaming和Trident,现在又老出了Flink你这一 优秀的实时计算框架,没办法 这几种计算框架到底哪些地方地方区别呢?下面大伙儿来详细分析一下,如表1.1所示。

有可是我,可是我组装几次多Flink Job,大约都要这几次组件。Flink Job=DataSource+Transformation+DataSink

在这里解释一下,高吞吐表示单位时间内要能处里的数据量很大,低延迟表示数据产生以不可我太多 能在很短的时间内对其进行处里,也全都Flink要能支持快速处于理海量数据。

图1.3 Flink的3种数据传输模型

Flink入门与实战