00:00
本书的第一章是初始flink,当然就是要对flink先有一个初步的认识和了解。那这一部分呢,我们首先用一个PPT来做一个简单的介绍。我们可以看到PPT的题目叫做flink流处理简介。所以从这个标题我们已经能够看出来,那个是用来做流处理的,所以整体来讲,它跟我们之前学习过的框架比起来的话,应该对标的是Spark,呃,大家知道Spark就是一个大数据里边的处理引擎,所以flink它自身的定位也是一个大数据处理引擎处理框架。那么flink跟Spark的主要区别其实就在于flink做的是流处理,而Spark主要做的是批处理。稍后我们会详细的解释一下什么叫做流,什么叫做B,那这一部分内容呢,我们先看一下大纲,首先讲一讲弗利克是什么啊,先知道它的概念啊,它的它的发展,原企业到底是怎么样的,然后呢,我们介绍一下为什么要用flink。
01:08
之后还要从一个比较高的视角啊,我们从这个数据大数据框架,整个这个框架演变的过程来梳理一遍,我们来考虑一下流处理是怎么样发展和演变的,这就相当于是站在一个架构师的视角去看问题了啊,要深刻的理解大数据处理它背后的含义,我们到底想干什么事情。讲完上边的这些背景性的知识,那后面我们就可以总结出来flink的主要特点,最后再着重跟Spark streaming做一个对比,因为Spark这个框架里边,它其实也是有专门用来做流处理的部分的,那就是Spark streaming,那flink跟Spark streaming有什么区别呢?啊,这一部分我们会做一个详细的对比。首先我们先来看一看弗link到底是什么啊,那其实弗link啊,它是阿帕奇基金会下的一个开源的大数据处理框架。
02:03
可以说是已经成为了各大公司大数据处理的一个发力的重点,特别是实时领域,在国内以阿里为代表的一众互联网大厂啊,在弗link这个方向可以说是投入了大量的人力物力。在阿里的带领下,可以说我们国内flink的发展要远远超过了国外的这个势头,所以在当前,如果大家希望在国内从事大数据行业的话,Flink是必须要了解,必须要懂的一个技术。那弗link到底是什么呢?它到底有什么样的优点能让一众大厂对它特别的青睐呢?啊,那我们可以看一下弗link在官网上的一个定义啊,Flink在官网上有这么一句话,它叫阿帕奇flink ISA framework。And distributed processing engine,这说的就是它是一个框架和分布式处理引擎。它用来干什么呢?后面有一个for,他说for state for computs。
03:05
Overbounded unbounded andbounded data streams,那这个如果直直接翻译过来的话,这个说的就是它用来处理的是什么呢?处理的是无界和有界的数据流,Data streams。然后他做的是一个有状态的计算,Beautiful computs,这里面提出了好多这个看起来很高大上的概念啊,那这个东西到底是什么,我们稍后会给大家详细的做一一的展开,现在我们先有一个基本的概念,就是flink是一个。大数据框架它是一个处理引擎,它是一个分布式的处理引擎,因为它要做大数据处理嘛,所以肯定是并行的,它是一个分布式的处理引擎,另外它主要处理的数据是数据流,而且它可以做有状态的计算。这就是弗林最主要的几个特点。这个东西比较枯燥,那我们再讲一讲flink的缘起和设计理念啊啊,大家可以看到这个小松鼠,这里这个小松鼠,这就是flink的logo。
04:10
看起来很可爱,很鲜亮,看看起来非常的漂亮,那为什么弗link它叫这个名儿,然后又有这样的一个图标作为logo呢?啊,这要说一说这个弗link到底是怎么样去发展的啊?首先弗link它的起源是缘起一个叫做fair的一个研究项目,是德国柏林的几所大学发起的一个研究项目。这个在2010年的时候就发起了这个项目了,其实这个还是非常早啊,但是大家知道,因为是在大学里边做研究嘛啊,它的这个进展其实相对来讲是比较慢的,一开始纯粹就是学术方面的一个讨论和研究,那到2014年的时候,Stress fair这个项目的代码就被捐赠给了阿帕奇软件基金会,这是阿帕奇软件基金会的这个logo捐赠过来之后。
05:00
这个项目就被命名,重新命名教程改名叫做了flink啊,所以flink的来源,它的前身其实是叫做fair。那它的这个发展的过程呢?14年8月的时候,Pink发布了第一个版本0.6。而且在同年,也就2014年的时候,他的几个可核心的开发者,他们独立出来创办了一个公司,叫做data artisans,这个公司那主要就是用来做这个link的商业应用了,做这个帮助企业部署一些大规大规模数据流处理的一些解决方案,主要做这个商业化应用,而这个本身的代码是开源了,在这里是由阿帕奇来管理的,这里为什么这个第一个版本直接就是0.6呢?啊,因为再往前0.5之前,那就叫straph啊,它是这样的一个发展过程。然后2014年之后,这个发展线就就会比较迅速了啊,八月的时候它变成了。
06:02
阿帕奇基金会下属的一个孵化项目,12月的时候就完成了孵化,然后到第二年15年4月的时候发布了一个里程碑式的重要版本0.9。很多大公司也都是从这个时间点开始关注并且参与到flink的社区建设里面来的啊,所以这就标志着flink基本可用了,而且得到了非常大的这个社区的支持。然后经过几年的啊,大概不到四年的这个发展和发力积蓄之后,19年一月份的时候,又有一个非常重要的事件,就是长期对flink投入研发的阿里巴巴公司,他以9000万欧元的价格收购了flink核心开发人员创办的这个商业化的母公司data公司。然后呢,把自己内部的blink一个版本叫做blink,这是阿里相当于基于这个开源的flink啊,进行了二次开发啊,做了这个接口的一些调整和底层优化之后的一个版本叫做blink,他把这个版本也开源出来,并且合并到了flink的主版本里边,当时19年8月的版本是1.9.0。
07:12
啊,所以从1.9.0开始,也就意味着。Flink的很多功能啊,商业级别的这个应用这个功能开始。都变得可用了啊,所以也是很多这个中小公司在这个一九年之后啊,就发现这一个弗林可特别的好用,特别的有用,所以就开始开始布局,开始大量的投入到这里面来,从一开始诞生到。后边开始火爆啊,大概在两年前一九年的时候开始火爆起来,其实也就不过这么短短的四五年时间,在这么几年时间里边,从最初的一个稳定版本啊0.9到现在,到目前已经发布到了最新版本是一点十,3.2是当前的最新版本。
08:03
啊,所以大家可以看到这个0.9~01:13点二啊,中间经历了多少个大版本小版本啊,可以看到就是flink这个社区是非常的活跃的,而且他一直在快速成长啊,就到目前为止,Flink的代码贡献人已经接近1000人了。呃,那根据阿帕奇软件基金会啊,他2020年度发布的这个报告,弗link社区的项目参与度啊,和这个贡献度是非常的活跃的,他在阿帕奇旗下的很多项目当中有几项是非常显著领先的,比如说呃,Github的访问量是所有项目里边排名第二。代码的提交量就是commit数是排名第二,那邮件列表的活跃度就是所谓的这个main list啊,它的排名是第一,所以这个flink是非常可以说非常火爆,现在一直在高速发展的这个这样的一个项目,蒸蒸日上。
09:03
啊,这也就是大家为什么要学它了啊,啊一方面它非常有用,很多大公司都在用,而且非常的火。所以如果我们掌握了flink,那就相当于。握有了一把通往大数据公司的一把钥匙,很多公司都非常需要这方面的人才啊,这是关于flink的基本的一个发展的过程,那我们还是没有说这个,为什么他会以这样的一个松鼠作为一个logo呢?诶,这是因为啊,就是他从莱菲尔这个项目。进行迁移开源之后啊,转交给这个阿帕奇软件基金会之后,那么他就想到了我当前的这个项目,到底是希望达到一个什么样的效果呢?他其实希望做到的是。快速而且灵活的大数据的流处理,哎,所以大家就从这个定义能够发现啊,它的一个基本想法需要快速响应,所以他其实就是做大数据实时数据处理的,从他的这个命名,这个基本的思路上就能可以看出来,所以他的基本想法是要快速和灵活,而。
10:09
Flink这个词呢,它本身就是德语里边啊,我们之前不是说这个菲尔项目是德国柏林几所大学开发的吗?诶,所以在德语里边flink就表示快速灵巧。所以他就选取了这个词汇作为当前我们这个大数据项目的名称。那这个logo用什么呢?快速灵巧,什么样的小动物快速灵巧呢?小松鼠当然非常的快速灵巧了啊,另外还有就是我们当前的这个颜色,阿帕奇软件基金会本身它就是这样的一个紫红色啊,有一个渐变色羽毛这样的一个,呃,一个色彩,那么设计flink logo的时候呢,也就把它使用了阿帕奇软件基金会的这个底色也是紫红色的一个松鼠,然后有一个漂亮的渐变色的尾巴,这种颜色的松鼠刚好就跟德国柏林本地的这个特产的松鼠颜色就非常的相近啊,所以就看起来也非常的有趣,也能代表当前我们这个项目的一个特点。
11:09
快速灵巧,这就是对于这个项目的基本的一个定位。那那讲到这儿,我们还是需要给大家说一下官网地址啊,看到官网地址就是flink点阿帕奇点org,其实就是阿帕奇下属的这个顶级项目,直接一敲这个就可以访问到他的官网的首页,那这里可以看到阿帕奇flink官网主要给他定位是什么呢?就是数据流上的有状态计算。那所以它其实就是一个计算工具,一个处理引擎,做这个数据流计算的,有状态计算的处理引擎,那这里我们可以看到点开这个what is apali,在这里就有这句话。这句话。就是我们抄在这里的这句话,这就是官网上面介绍弗link的第一句话,阿给介绍架构的时候给的第一句话,阿帕奇弗link是一个框架和分布式的处理引擎,它处理的是无界和有界的数据流,用来做有状态的计算,这就是几个核心的概念。
12:19
啊,当然了,后面他也说了,可以用来基于所有的常见的。集群环境都可以去直接去运行啊,弗林可是这样被设计的,就是在各种各样的这个集群环境里边都可以去做这个运行。它的这个计算速度非常的快,是in memory speed,就是内存级的响应速度,而且可以以各种各样的扩展性啊,就各种各样的这种级别,可以非常灵活的进行扩展,扩展性非常的好,这就是弗林克的基本的特点,我们通过这些先对弗林有一个整体的了解。
我来说两句