您当前的位置:首页 > 新闻 > 科技

阿里巴巴主推的 Flink 为什么火?

时间:2020-03-12 11:05:59  来源:  作者:

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操作、图计算和机器学习库等。

1.1 Flink原理分析

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

Flink是一个开源的流处理框架,它具有以下特点。

  • 分布式:Flink程序可以运行在多台机器上。
  • 高性能:处理性能比较高。
  • 高可用:由于Flink程序本身是稳定的,因此它支持高可用性(High Availability,HA)。
  • 准确:Flink可以保证数据处理的准确性。

Flink主要由JAVA代码实现,它同时支持实时流处理和批处理。对于Flink而言,作为一个流处理框架,批数据只是流数据的一个极限特例而已。此外,Flink还支持迭代计算、内存管理和程序优化,这是它的原生特性。

由图1.1可知,Flink的功能特性如下。

  • 流式优先:Flink可以连续处理流式数据。
  • 容错:Flink提供有状态的计算,可以记录数据的处理状态,当数据处理失败的时候,能够无缝地从失败中恢复,并保持Exactly-once。
  • 可伸缩:Flink中的一个集群支持上千个节点。
  • 性能:Flink支持高吞吐、低延迟。
阿里巴巴主推的 Flink 为什么火?

 

图1.1 Flink的功能特性

在这里解释一下,高吞吐表示单位时间内可以处理的数据量很大,低延迟表示数据产生以后可以在很短的时间内对其进行处理,也就是Flink可以支持快速地处理海量数据。

1.2 Flink架构分析

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

  • Deploy层:该层主要涉及Flink的部署模式,Flink支持多种部署模式——本地、集群(Standalone/YARN)和云服务器(GCE/EC2)。
  • Core层:该层提供了支持Flink计算的全部核心实现,为API层提供基础服务。
  • API层:该层主要实现了面向无界Stream的流处理和面向Batch的批处理API,其中流处理对应DataStream API,批处理对应DataSet API。
  • Library层:该层也被称为Flink应用框架层,根据API层的划分,在API层之上构建的满足特定应用的实现计算框架,也分别对应于面向流处理和面向批处理两类。面向流处理支持CEP(复杂事件处理)、基于SQL-like的操作(基于Table的关系操作);面向批处理支持FlinkML(机器学习库)、Gelly(图处理)、Table 操作。

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

阿里巴巴主推的 Flink 为什么火?

 

图1.2 Flink架构

1.3 Flink基本组件

读者应该对Hadoop和Storm程序有所了解,在Hadoop中实现一个MapReduce需要两个阶段——Map和Reduce,而在Storm中实现一个Topology则需要Spout和Bolt组件。因此,如果我们想实现一个Flink任务的话,也需要有类似的逻辑。

Flink中提供了3个组件,包括DataSource、Transformation和DataSink。

  • DataSource:表示数据源组件,主要用来接收数据,目前官网提供了readTextFile、socketTextStream、fromCollection以及一些第三方的Source。
  • Transformation:表示算子,主要用来对数据进行处理,比如Map、FlatMap、Filter、Reduce、Aggregation等。
  • DataSink:表示输出组件,主要用来把计算的结果输出到其他存储介质中,比如writeAsText以及Kafka、redis、Elasticsearch等第三方Sink组件。

因此,想要组装一个Flink Job,至少需要这3个组件。

Flink Job=DataSource+Transformation+DataSink

1.4 Flink流处理(Streaming)与批处理(Batch)

在大数据处理领域,批处理与流处理一般被认为是两种截然不同的任务,一个大数据框架一般会被设计为只能处理其中一种任务。比如,Storm只支持流处理任务,而MapReduce、Spark只支持批处理任务。Spark Streaming是Apache Spark之上支持流处理任务的子系统,这看似是一个特例,其实不然——Spark Streaming采用了一种Micro-Batch架构,即把输入的数据流切分成细粒度的Batch,并为每一个Batch数据提交一个批处理的Spark任务,所以Spark Streaming本质上还是基于Spark批处理系统对流式数据进行处理,和Storm等完全流式的数据处理方式完全不同。

通过灵活的执行引擎,Flink能够同时支持批处理任务与流处理任务。在执行引擎层级,流处理系统与批处理系统最大的不同在于节点间的数据传输方式。

如图1.3所示,对于一个流处理系统,其节点间数据传输的标准模型是,在处理完成一条数据后,将其序列化到缓存中,并立刻通过网络传输到下一个节点,由下一个节点继续处理。而对于一个批处理系统,其节点间数据传输的标准模型是,在处理完成一条数据后,将其序列化到缓存中,当缓存写满时,就持久化到本地硬盘上;在所有数据都被处理完成后,才开始将其通过网络传输到下一个节点。

阿里巴巴主推的 Flink 为什么火?

 

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

这两种数据传输模式是两个极端,对应的是流处理系统对低延迟和批处理系统对高吞吐的要求。Flink的执行引擎采用了一种十分灵活的方式,同时支持了这两种数据传输模型。

Flink以固定的缓存块为单位进行网络数据传输,用户可以通过设置缓存块超时值指定缓存块的传输时机。如果缓存块的超时值为0,则Flink的数据传输方式类似于前面所提到的流处理系统的标准模型,此时系统可以获得最低的处理延迟;如果缓存块的超时值为无限大,则Flink的数据传输方式类似于前面所提到的批处理系统的标准模型,此时系统可以获得最高的吞吐量。

缓存块的超时值也可以设置为0到无限大之间的任意值,缓存块的超时阈值越小,Flink流处理执行引擎的数据处理延迟就越低,但吞吐量也会降低,反之亦然。通过调整缓存块的超时阈值,用户可根据需求灵活地权衡系统延迟和吞吐量。

1.5 Flink典型应用场景分析

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

  • 实时ETL:集成流计算现有的诸多数据通道和SQL灵活的加工能力,对流式数据进行实时清洗、归并和结构化处理;同时,对离线数仓进行有效的补充和优化,并为数据实时传输提供可计算通道。
  • 实时报表:实时化采集、加工流式数据存储;实时监控和展现业务、客户各类指标,让数据化运营实时化。
  • 监控预警:对系统和用户行为进行实时检测和分析,以便及时发现危险行为。
  • 在线系统:实时计算各类数据指标,并利用实时结果及时调整在线系统的相关策略,在各类内容投放、无线智能推送领域有大量的应用。

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

  • 优化电商网站的实时搜索结果:阿里巴巴的基础设施团队使用Flink实时更新产品细节和库存信息(Blink)。
  • 针对数据分析团队提供实时流处理服务:通过Flink数据分析平台提供实时数据分析服务,及时发现问题。
  • 网络/传感器检测和错误检测:Bouygues电信公司是法国著名的电信供应商,使用Flink监控其有线和无线网络,实现快速故障响应。
  • 商业智能分析ETL:Zalando使用Flink转换数据以便于将其加载到数据仓库,简化复杂的转换操作,并确保分析终端用户可以更快地访问数据(实时ETL)。


Tags:阿里巴巴   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
来源 | 零壹财经作者 | Chenglin Pua元宇宙在2021年成为炙手可热的当红炸子鸡,许多公司纷纷宣布进军。国外的有“All In”元宇宙的社交巨头Meta公司。芯片设计巨头英伟达也宣...【详细内容】
2021-12-17  Tags: 阿里巴巴  点击:(10)  评论:(0)  加入收藏
那天,小二去阿里面试,面试官老王一上来就甩给了他一道面试题:为什么阿里的 Java 开发手册里会强制不要在 foreach 里进行元素的删除操作?小二听完就面露喜色,因为两年前,也就是 20...【详细内容】
2021-10-21  Tags: 阿里巴巴  点击:(43)  评论:(0)  加入收藏
企业的控制权历来是金融版新闻的话题中心,因控制权导致的纷争数也数不清。但在这么多案例中,阿里巴巴的合伙人制度一直作为股权设计的典范为人津津乐道,并且一直被模仿,但从未被...【详细内容】
2021-05-18  Tags: 阿里巴巴  点击:(117)  评论:(0)  加入收藏
一般国内散户没法买阿里的股票一般国内小散户,没有开港美通的,是没有办法直接买进在香港上市,以及在美国上市的中国企业的,比如阿里巴巴,腾讯,百度,京东,拼多多,美团,等等,几乎大部分知...【详细内容】
2021-04-14  Tags: 阿里巴巴  点击:(191)  评论:(0)  加入收藏
前言大家好,又双叒叕见面了,我是天天放大家鸽子的蛮三刀。在被大家取关之前,我立下一个“远大的理想”,一定要在这周更新文章。现在看来,flag有用了。。。本篇文章是我这一个多月...【详细内容】
2021-01-14  Tags: 阿里巴巴  点击:(192)  评论:(0)  加入收藏
刚刚,阿里巴巴达摩院发布2021十大科技趋势,这是达摩院成立三年以来第三次发布年度科技趋势。2020年是不平凡的一年,经历疫情的洗礼,许多行业重启向上而生的螺旋,但疫情并未阻挡...【详细内容】
2020-12-28  Tags: 阿里巴巴  点击:(142)  评论:(0)  加入收藏
前言众所周知,MySQL广泛应用于互联网的OLTP(联机事务处理过程)业务系统中,在大厂开发规范中,经常会看到一条"不建议使用text大字段类型”。下面就从text类型的存储结构,引发的问题...【详细内容】
2020-11-10  Tags: 阿里巴巴  点击:(100)  评论:(0)  加入收藏
想通了零售和代发要不要做的问题之后,我们就该布局店铺了。怎么布局?从客户的需求布局。比如我是代发客户,我的需求是什么,你能帮我做代发,且你要提供相关的证据链,证明你能帮我做...【详细内容】
2020-11-02  Tags: 阿里巴巴  点击:(100)  评论:(0)  加入收藏
9月17日,在2020云栖大会上,阿里云发布了第一台云电脑“无影”,突破了传统电脑的物理限制,一张“小卡片”就具备普通电脑数十倍的性能。阿里云智能总裁张建锋表示,未来每个人都可...【详细内容】
2020-09-17  Tags: 阿里巴巴  点击:(161)  评论:(0)  加入收藏
制作下拉词很有用。所谓的“下拉词”也叫推荐词。以百度为例,百度下拉框是百度为方便用户搜索而提供的关键字关联服务,提高了用户的搜索效率。大多数人在搜索关键词时不知道如...【详细内容】
2020-09-03  Tags: 阿里巴巴  点击:(111)  评论:(0)  加入收藏
▌简易百科推荐
非法购买公民信息、开发人脸认证规避技术……今年年初,广东省公安厅网安部门侦破全国首例破解“青少年防沉迷系统”的新型网络犯罪案件,抓获犯罪嫌疑人13名,查处非...【详细内容】
2021-12-28    人民日报客户端  Tags:数据安全步   点击:(5)  评论:(0)  加入收藏
就在今天,腾讯方面宣布将在2022年1月31日下架企业QQ和营销QQ,其实这一消息的降临并不让笔者意外,因为早在今年的10月28日20点之后,企业QQ和营销QQ就被停止了续费服务。相信很多...【详细内容】
2021-12-27  科技探险家    Tags:企业QQ   点击:(21)  评论:(0)  加入收藏
日前,上海交通大学发布《全球电竞之都评价报告》,对全球15个致力于发展电竞之都的城市进行评价,上海作为中国城市电竞发展的排头兵,其拥有众多优质电竞企业及完整产业集群,因此排...【详细内容】
2021-12-27  经济日报    Tags:电竞   点击:(3)  评论:(0)  加入收藏
为优化网络氛围环境,微博又开始整顿用户信息了。本月月初,微博官方发布公告,要求昵称中带有如“二货”“SB”“瘪三”“娘炮”等明显低俗或侮辱性词汇的用户尽快修改,否则将面临...【详细内容】
2021-12-24  运了个营    Tags:微博   点击:(10)  评论:(0)  加入收藏
昨日谷歌宣布,自2022年12月19日开始停止对OnHub的软件支持,OnHub路由器仍将提供Wi-Fi信号,但用户无法用谷歌Home应用程序管理它。无法更新Wi-Fi网络设置、添加额外的Wifi设备或...【详细内容】
2021-12-22  雷峰网    Tags:Google OnHub   点击:(5)  评论:(0)  加入收藏
IT之家 12 月 20 日消息,百度网盘青春版 iOS 客户端今日晚间率先开启内测,安卓客户端将在稍后内测。使用苹果 iPhone 的IT之家小伙伴可以点此下载内测版,需要先下载 TestFlight...【详细内容】
2021-12-21  IT之家    Tags:百度网盘   点击:(10)  评论:(0)  加入收藏
对于拼车单,是接还是不接,不少网约车司机表示很矛盾。接吧,钱少事多,常常跑了个寂寞,不接吧,车多客少,挑三拣四没饭吃。 在平台大力推广拼车单之下,不少司机迫于生活压力,最终还是打...【详细内容】
2021-12-17  网约车情报分享    Tags:滴滴   点击:(9)  评论:(0)  加入收藏
蓝鲸TMT频道12月16日讯,据饿了么官方微信公众号,近日,在圆桌会上,蓝骑士与平台交流了配送安全问题。饿了么表示,线上将技术手段融入安全防护;线下将持续进行安全培训,并试点智能头...【详细内容】
2021-12-17    金融界  Tags:饿了么   点击:(24)  评论:(0)  加入收藏
开源最前线(ID:OpenSourceTop) 猿妹编译项目地址: https://github.com/restic/restic全球知名代码托管平台 GitHub 今天就重磅发布了今年的年度报告——《2021 年度 O...【详细内容】
2021-12-17  Python部落    Tags:   点击:(9)  评论:(0)  加入收藏
新京报快讯 据中国网络视听节目服务协会网站消息,12月15日,中国网络视听节目服务协会发布了《网络短视频内容审核标准细则》(2021)。中国网络视听节目服务协会组织有关短视频平...【详细内容】
2021-12-16    新京报  Tags:短视频   点击:(11)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条