00:00
要学习flink,首先我们应该对flink有一个整体的了解,我们得知道flink是什么,它有哪些特点,能用来干什么事情啊,所以这里呢,我们首先用这样一个PPT对flink做一个整体的简介。那这里我们看到标题写的是flink流处理简介,这里所谓的流处理指的是一种数据处理的架构,数据处理的方式啊,那与之对应的呢,另外还有一种数据处理的方式,就叫做批处理。他的代表可能大家也听说过,那就是另外一个非常著名的大数据处理框架Spark。所以后边呢,我们会详细展开介绍什么叫流处理,什么叫批处理,Flink和Spark的区别又在哪里?那首先我们先看一下当前这一部分我们要介绍的主要内容啊,首先呢,我们会说一下弗林到底是什么,然后呢,我们会去介绍为什么我们在实际工作当中要去使用弗link,弗link其实现在非常的火热啊,我们可能也听说过很多公司都在使用弗Li,那为什么要用它呢?
01:06
之后呢,我们再站在一个比较高层级的视角看一看流处理的发展和演变,弗link就是流处理的代表,最后呢,我们再来总结一下flink的主要特点,并且比较一下flink和Spark stream啊,因为我们知道在Spark里边,Spark本身是进行批处理的一个框架,而它里边呢,专门针对流处理有一个组件叫做SPA streaming,诶,那它跟link又有什么区别呢?我们会详细的做一个比较。首先我们来看flink到底是什么。那现在我们可能知道flink是一个大数据的处理框架,它是阿帕奇软件基金会下的一个开源项目,它有一个logo,就是这里我们看到的这一个漂亮的红棕色的小松鼠,那其实呢,这个项目在最初的时候并不叫做flink这个名字,这就涉及到了它起源和发展的一些小故事了啊,那它起源的时候叫什么呢?它是起源于一个叫做stra fair的项目,那这个项目呢,是由德国柏林的几所大学和欧洲的其他一些大学啊,在2010年的时候就发起,2010年到2014年的时候共同进行的一个研究项目啊,当然了,我们知道最初他只是做这个学术研究的目的嘛,所以这个发展的速度相对来讲就会比较缓慢一些,那在2014年的时候,2014年的四月,Stress fair这个项目的代码就被复制,并且捐赠给了阿帕奇软件基金会。那么接下来这个项目就被。
02:40
命名叫做flink,从此项目就走上了快车道,得到了非常速的发展,到今天变成了一个非常火爆的大数据处理框架。那link这个项目到底是用来干什么的呢?它的设计目的是什么样的呢?啊,其实这个从它的命名和logo的选择上我们也能看出一些端倪。
03:02
首先,Flink这个词在德语里边本身就是快速、灵巧的意思。而且啊,非常有趣的是啊,在德国柏林当地就有一种非常漂亮的松鼠啊,它的颜色就是非常迷人的红棕色,所以呢,当前这个项目它就以flink快速灵巧作为自己的名称,而且选择了快速灵巧的小松鼠作为了自己的logo啊,那这个松鼠在选择它的颜色的时候,我们看到啊,它还有一个非常漂亮的带有渐变色的一个大尾巴,这个跟阿帕奇软件基金会的这个羽毛的风格也是非常一致的啊,所以它采用了一个具有阿帕奇风格的松鼠作为自己的logo,那整体它想表现的特点就是快速灵巧,这就是这个项目对于自己做大数据处理时候的一个基本定位,也就是说来我们做大数据处理一定要快速灵巧。
04:00
接下来呢,我们再来看一看弗link发展的时间线,有一些比较关键的时间点我们需要了解一下。首先前面我们提到2014年4月的时候,弗link变成了阿帕奇基金会下属的一个孵化项,那么在2014年8月的时候,Flink第一个版本0.6就正式发布出来了,与此同时呢,Flink的几位核心开发人员创办了一个商业化的公司,叫做datas啊,那当然了,这里我们可能有一个疑问,就是为什么一个版本直接就是0.6呢?那之前的0.1~0.5去哪儿了呢?诶,之前的那些版本那就叫做fair了啊,所以flink本身第一个版本就是从0.6开始算的。然后接下来flink的发展其实就非常的快了,在2014年12月的时候,Flink项目就完成了孵化,就变成了阿帕旗下的顶级项目,得到了广泛的关注。然后在2015年4月的时候,弗link发布了一个非常重要的版本,里程碑式的版本,0.9.0啊,很多国内外的大公司啊,也正是从这个时间点开始关注弗link,而且参与到了弗link的社区建设里面来啊,那这里边我们必须要提的就是中国的一个互联网巨头公司阿里巴巴啊,阿里其实也是在那个时候开始关注弗link,而且在这方面做了大量的工作啊,长期积蓄在2019年1月的时候。
05:29
阿里做了一个让整个行业震动的事情,那就是以9000万欧元的价格收购了前面我们提到的啊,做弗林商业化开发的这样一个母公司data。2019年8月的时候呢,阿里又将自己内部的flink版本叫做blink,就是以B打头的啊,Blink blink这样一个版本做了一个开源,并且合并到了flink1.9.0版本里边啊,所以当时的那几个版本啊,Flink的变化其实是非常非常大,在之后逐渐就变得越来越稳定,到2020年12月的时候,弗林克又发布了一个重要版本01:12点零。
06:10
这是正式实现流批一体化的里程碑式的版本。那发展到今天的话,Flink也已经发布了01:13一点十四啊,甚至啊最近我们可以看到在GI上flink已经发布了01:15的RC版本啊,也就是所谓的release candidate啊,候选版本也已经马上就要发布了,所以我们会看到弗Li的发展其实是非常非常的快速,短短的几年时间啊,弗link已经成长成为了当前大数据处理领域最为活跃也最复杂的开源流处理引擎啊,得到了非常广泛的应用啊,这里可以提一些数据,就是根据阿帕奇软件基金会2020年发布的年度报告啊,Flink社区参与和贡献度是非常的活跃的,Flink的GI访问量在所有阿帕奇旗下的众多项目里边排名第二啊,那另外还有就是它的代码提交量,也就是commit数量排名第二,另外还有v list,就是所谓的邮件列表的活跃度是排名第一。
07:15
一所以可以说现在link真的是非常的火爆。那了解了弗link的起源和发展的过程,那弗link到底是用来干什么呢?我们说它是用来做大数据处理,那是怎么样做处理的呢?呃,这里我们可以来参考一下官网的介绍,我们可以直接在网页里边敲flink,点阿帕奇点org,这就是flink的官网,官方网站上面首先映入眼帘的就是这样的一行介绍。我们看到它的介绍是flink阿帕奇flink是state for computations over data streams,这里边有两个关键词,一个叫state for computations,也就是说有状态的计算。另外还有一个叫做。
08:00
Data streams,也就是我们所谓的数据流,哎,这里就给出了flink的一个基本定义,它就是有状态的数据流的处理,它主要是用来做这方面的计算。如果说我们想要看到一个详细的介绍的话,也可以点这里,What is,阿帕奇link,哎,我们看到在这里第一句话其实就是官网给弗link下的一个具体的定义,呃,这里可能字比较小,我们看不清楚啊,在这里我们已经把它完整的复制下来,而且提炼出了里边的关键字,我们可以看一下。阿帕奇link,它是一个framework,也就是它是一个框架and distributed processing energy,也就是它是一个分布式的处理引擎。哦,这是基本的一个定位,它是一个数据处理的框架,或者叫分布式的处理引擎,然后后面是for,那就是用来用在什么样的场景下呢?For state for computs,有状态的计算。
09:04
那么针对什么样的数据进行有状态的计算呢?Over unbounded andbounded data streams,也就是对于无界和有界的数据流进行这样的有状态的计算。这里涉及到了各种各样不同的概念,我们现在听着可能会稍微的有一点枯燥,这个没关系,在后面的讲解当中我们会逐渐的展开。
我来说两句