Flink Forward 2021中一些值得关注的动态
周末的时候看了Flink Forward 2021的回放。
朋友圈很多朋友都看了,观众人数第一天还挺多,第二天大家好像热性消退,观看人减少了很多。
OK,有几个值得注意的点大家可以自己琢磨琢磨。
实时计算开始普及到各个传统行业
这在2年前是非常不可思议的事情,实时计算领域这两年发展火热,主要就是Flink社区的大力推动。
阿里在这件事上也是下足了本钱,有一个很大的运营团队推广这个事情。阿里云上的产品也非常成熟。
这其中包含了各种银行、保险、证券等非互联网公司都对基于Flink的实时计算体系做了应用和探索。
也就是说,实时计算这个技能已经成了数据人的标配。不管你以前是做什么的,如果你还是数据开发方向,都要赶紧补上自己的这个技能点。
尤其是做传统数据仓库的读者们,需要赶紧转到以实时计算为主的方向上来,不要抱着原来的思维模式把精力投入在离线体系中。
Flink SQL化势不可挡
整个数据开发领域SQL化已经势不可挡。
这到底是好事还是坏事?对公司、业务来说是好事,对开发人员来说就不一定了。你看程序员就喜欢干这种事,做出来的东西能干掉自己。
大家可以看到,这些公司的计算平台都在向SQL化迁移,这些平台的成熟未来会给业务开发人员带来巨大的便利。
Flink ML
根据社区开发者的描述:
「我们设计了原生支持实时机器学习的算法接口,算法使用者可以更容易配置,组合和部署在线预测算法和在线学习算法。所设计的算法接口可以支持多输入多输出,以及将算法模块以有向图的方式进行组合使用。我们设计并实现了基于 DataStream 的迭代引擎,以取代基于 DataSet 的迭代引擎。针对各种算法的需求,我们设计了更容易使用的迭代引擎接口,为算法开发者优化算法性能提供更丰富的接口选择。」
「我们计划按照新设计的算法接口以及迭代引擎,将阿里云研发多年的 Alink 算法库改造并贡献进入 Flink ML。通过将 Apache Flink 的强大社区生态,技术领先的 Alink 算法库,与新设计的算法接口结合在一起,我们希望做到优势互补,帮助 Flink ML 成为最容易使用的,覆盖最多算法的,以及应用最广泛的流批一体机器学习算法库。」
Flink的机器学习部分一直是短板,尤其是在和Spark这样的框架相比之下。Alink虽然早早在Github开源,但是一直不温不火。这次的更新代表Flink要开始蚕食Spark对算法领域的优势,未来会不会出现更多的 DataBricks 这样的商业化公司,我们拭目以待。
流式数仓Streamhouse新势力
阿里大佬们又开始整活了。
「Apache Flink 中文社区发起人、阿里巴巴开源大数据平台负责人王峰(花名莫问)重点介绍了 Flink 在流批一体架构演进和落地方面的最新进展,并提出了 Flink 下一步的发展方向——流式数仓(Streaming Warehouse,简称 Streamhouse)。正如主题演讲标题"Flink Next, Beyond Stream Processing"所言,Flink 要从 Stream Processing 走向 Streaming Warehouse 去覆盖更大的场景,帮助开发者解决更多问题。而要实现流式数仓的目标,就意味着 Flink 社区要拓展适合流批一体的数据存储,这是 Flink 今年在技术方面的一个创新,社区相关工作已经在 10 月份启动,接下来这会作为 Flink 社区未来一年的一个重点方向来推进。」
「Flink 可以让当前业界主流数仓架构再进阶一层,实现真正端到端全链路的实时化分析能力,即:当数据在源头发生变化时就能捕捉到这一变化,并支持对它做逐层分析,让所有数据实时流动起来,并且对所有流动中的数据都可以实时查询。再借助 Flink 完备的流批一体能力,使用同一套 API 就可以同时支持灵活的离线分析。这样一来,实时、离线以及交互式查询分析、短查询分析等,就可以统一成一整套解决方案,成为理想中的 “流式数仓(Streaming Warehouse)”。」
基于此,Flink孵化了一个项目叫做:Flink Dynamic Table。
Flink Dynamic Table(社区讨论详见 FLIP-188)可以理解为一套流批一体的存储,并无缝对接 Flink SQL。原来 Flink 只能读写像 Kafka、HBase 这样的外部表,现在用同一套 Flink SQL 语法就可以像原来创建源表和目标表一样,创建一个 Dynamic Table。流式数仓的分层数据可以全部放到 Flink Dynamic Table 中,通过 Flink SQL 就能实时地串联起整个数仓的分层,既可以对 Dynamic Table 中不同明细层的数据做实时查询和分析,也可以对不同分层做批量 ETL 处理。
目前 Dynamic Table 第一个阶段的实现方案已经完成,社区也在围绕这个方向展开更多讨论。根据社区的规划,未来的终态会实现 Dynamic Table 的服务化,真正形成一套 Dynamic Table 的 Service,实现完全实时化的流批一体存储。同时,Flink 社区也正在讨论将 Dynamic Table 作为 Flink 独立子项目运营和发布,不排除后续将其完全独立成为流批一体通用存储项目发展。最终,利用 Flink CDC、Flink SQL、Flink Dynamic Table 就可以构建一套完整的流式数仓,实现实时离线一体化的体验。
好的,各位同学们,继续卷起来吧。
Hi,我是王知无,一个大数据领域的原创作者。 放心关注我,获取更多行业的一手消息。