《Apache Flink :回顾2015,展望2016》要点:
本文介绍了Apache Flink :回顾2015,展望2016,希望对您有用。如果有疑问,可以联系我们。
欢迎参与《Apache Flink :回顾2015,展望2016》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。
回顾2015,总体而言Flink在功能方面已经从一个引擎发展成为最完整的开源流处理框架之一.与此同时,Flink社区也从一个相对较小,并且地理上集中的团队,成长为一个真正的全球性的大型社区,并在Apache软件基金会成为最大的大数据社区之一.接下来看看一些有趣的统计数据,其中就包含Flink每周最繁忙的时间是星期一,肯定出乎很多人所料:)
社区发展
首先,我们从Flink的GitHub库中看一些简单的统计.在2015年,Flink社区规模扩大了一倍,人数从大约75名贡献者超过150名.从2015年2月至2015年12月,其github库的复制数量超过了三倍,从160增长至544,而其star数目的增长也接近3倍,从289增至813.
尽管Flink创建于德国柏林,然而现在其社区遍布全球,拥有来自北美,欧洲以及亚洲的许多贡献者.在著名线下交友网站meetup.com上做一个简单的关于提及Flink作为重点领域的组织的搜索,搜索结果注解全世界有16个这样的组织:
2015 Flink 推进会
毫无疑问,对于Flink而言,2015年的最重要的事件之一便是10月份在柏林举办的Flink 推进会,这是Apache Flink的首次会议.来自谷歌,MongoDB,布依格斯电信,NFLabs,Euranova,RedHat,IBM,华为,Intel,爱立信,Capital One,Zalando,Amadeus,the Otto Group和ResearchGate的250多名的参会者(大约一半总部位于德国以外),参加了超过33的技术会谈.如果你想了解这些技术会议的内容,可以通过Flink Forward网站查看相关幻灯片和视频.
有趣的是,在 2016年 EMEA Hadoop峰会已提交的议题和摘要中,提及Flink的高达17个议题:
为了更深入的了解产生在Flink社区的事情,让我们在这个项目的 git 日志上做一些分析:-),最简单的做法是在 git 库中统计2015年提交的总数目.运行如下代码:
git log --pretty=oneline --after=1/1/2015 | wc -l
2015年Flink git库总共产生2203次提交.为了更深入地探究提交者的行为,我们将使用一个称为gitstats的开源工具进行分析,这将会带来一些有趣的统计结果.你可以通过以下四个简单的步调来创建并更多了解:
1.从 project homepage..下载gitstats,举个例子:在OS X上使用自带软件,键入:
brew install --HEAD homebrew/head-only/gitstats
2.克隆Apache Flink git库:
git clone git@github.com:apache/flink.git
3.利用gitstats发生统计数据:
gitstats flink/ flink-stats/
chrome flink-stats/index.html
首先,我们可以观察到从Apache项目孵化开始,Flink的源代码行数一直安稳增长,在2015年,其代码库几乎翻了一番,源代码行数从500,000增至900,000.
当Flink的开发者提交代码时,可以发现一个有趣的现象,到目前为止,代码都是集中在周一下午进行提交.
功能时间图
下面是一个(非详尽)的时间顺序图,用于显示在2015年,Flink以及Flink生态系统新增了哪些主要功能:
2016年发展蓝图
Flink社区已经开始讨论今后Flink的发展蓝图,下面列举一些主要内容:
流式作业运行时伸缩:流式作业必要不间断运行,并且必要对一个不断变化的环境作出反应.运行时伸缩意味着为了支持特定的服务等级协议,从而动态地增加和减少作业的并行度,或者对输入的吞吐量变化作出反应.
针对静态数据集和数据流的SQL查询:用户以Flink 表 API 为基础,可以通过编写sql语句查询静态数据集,以及针对数据流进行查询从而连续发生新的结果.
有托管内存支持的流运算:目前,流运算像用户自定义状态和窗口都是由JVM堆对象支持.将这些内容移至Flink托管内存会增加溢出到磁盘的才能,垃圾回收效率的才能,从而可以更好地控制内存的使用.
检测时间变乱模式库:在流处理中经常要检测一个时间戳的变乱流模式.Flink通过变乱时间,对此进行了支持,利用库的形式可以实现很多诸如此类的操作.
对Apache Mesos以及动态资源YARN的支持:同时支持Mesos 以及 YARN,包含动态分配和资源释放,从而获得更多资源弹性(包含批处理和流式处理).
平安性:对TaskManagers 和 JobManager之间的信息交换以及workers之间的数据交换连接,都进行加密.
更加丰富的流式连接、更多的运行时度量以及连续数据流API增强:支持更多的源和汇(例如,Amazon Kinesis,Cassandra,Flume,等等),给用户提供更多的度量指标,并提供持续改进的数据流API.
如果你对这些功能感兴趣,强烈建议去查看下当前的草案,并参加 Flink 邮件列表讨论.
译者:郭亚和,从事大数据(spart/storm/hadoop/hbase)相关运维、阐发等工作.