📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师
🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~
文章目录
- 伊始
- 关于Stratosphere
- 派生Apache Flink
- 阿里巴巴和Blink
- 当前的Apache Flink
- 总结
伊始
2010年,由Volker Markl(德国研究基金会——DFG资助)领导的研究项目“平流层:云上的信息管理”作为柏林工业大学、柏林洪堡大学和波茨坦Hasso-Plattner-Institut的合作项目启动。Flink从平流层分布式执行引擎的一个分支开始,并于2014年3月成为Apache孵化器项目。2014年12月,Flink被接受为Apache顶级项目。
关于Stratosphere
当我看到这个单词的时候,我其实第一次翻译过来是stratosphere「平流层」,亦称同温层,是地球大气层里上热下冷的一层,此层被分成不同的温度层,当中高温层置于顶部,而低温层置于低部。在第二届网格和超级计算机多任务计算研讨会论上提出高效的并行数据处理,在当时stratosphere是作为一个研究性的项目,目标是开发下一代大数据分析平台。Stratosphere的官网地址大家如果有兴趣可以过去浏览下,主要是了解下当时的一些概念以及意图。
派生Apache Flink
2014年Flink从Stratosphere分布式执行引擎的一个分支开始,当时的版本为v0.9,并于2014年3月成为Apache孵化器项目。2014年12月,Flink被接受为Apache顶级项目,2015年第一个发布版本v0.9.1。下面是Apache Flink的发布表(截止到目前为止,最新的发布版本为v1.18)帮助我们了解flink的发展历史:
阿里巴巴和Blink
如果提到Flink,那么就不得不提一下阿里巴巴的Blink。阿里巴巴在2015年开始尝试使用Flink,基于Blink的计算平台于2016年正式上线。在当时,阿里绝大多数的技术部门都在使用Blink。Blink一直在阿里内部错综复杂的业务场景中锻炼成长着。所以,Blink是阿里巴巴基于Apache Flink(具体是从flink v1.5版本开始)构建的一站式、高性能实时计算平台,广泛应用于流式数据处理、离线数据处理、DataLake计算等场景。
2019年1月,阿里云宣布将Blink开源给Apache Flink社区。Blink融入了Blink Table API和Blink Planner,这些都是对Flink原有功能的扩展和优化。因此,可以说Blink是Flink的一个改进版本,旨在提供更好的性能和更多的功能。
在Flink的母公司Data Artisans被阿里巴巴收购后,阿里巴巴开始逐步将内部的Blink代码开源,并将其合并到Flink的主分支上。这一合并过程发生在2019年8月22日,正式发布Apache Flink 1.9.0 版本,合并后,Flink 1.9中存在两个Planner:Flink Planner和Blink Planner。
在v1.9的版本上,做了如下的改进:
● 细粒度批作业恢复 (FLIP-1)
● State Processor API (FLIP-43)
● Stop-with-Savepoint (FLIP-34)
● 重构 Flink WebUI
● 预览新的 Blink SQL 查询处理器
● Table API / SQL 的其他改进
● 预览 Hive 集成 (FLINK-10556)
● 预览新的 Python Table API (FLIP-38)
这表明Blink的代码已经被正式集成到Flink的官方代码中,并成为了Flink的一部分。
当前的Apache Flink
Apache Flink成为ASF项目之后,官网地址:https://flink.apache.org/
在Github中,地址为:https://github.com/apache/flink
在Github中,目前最新的发布版本为v1.18.1,而在主版本中v1.19已经在开发迭代中,相信在不久的将来也会成为发布版本。如果在我们开发中,尽量避免使用新版本,而是使用稳定版本。
总结
本文通过Flink和Blink来了解Flink的由来,了解在阿里贡献了很多代码给Flink,作为一个全球最大的电商公司,阿里使用Flink搜索、搜索算法实时A/B测试、在线机器学习、系统精准推荐功能等。得力于Flink的能力,我们可以解决工作中的很多事情,Flink主要应用场景包括实时数据计算、实时数据仓库和ETL、事件驱动型场景(如告警、监控)等。
[引用]
1、Stratosphere项目官网:http://stratosphere.eu/
2、Stratosphere公开出版:http://stratosphere.eu/project/publications/
3、Apache Flink 维基百科:https://en.wikipedia.org/wiki/Apache_Flink
欢迎关注博主 「六月暴雪飞梨花」 或加入【六月暴雪飞梨花社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。