搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
办公|编程助手
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
技术学习(版主发帖区)
›
大数据学习
›
Flink
›
版本说明
›
Apache Flink 1.9.0版本详解
0
2
1
分享
Apache Flink 1.9.0版本详解
fc013
2019-9-20 16:24:02
发表于
版本说明
[显示全部楼层]
只看大图
阅读模式
关闭右栏
2
4556
问题导读
1.Apache Flink 1.9.0 有什么样的里程碑意义?
2.Apache Flink 1.9.0 有哪些重点改动?
3.Apache Flink 1.9.0 有哪些新功能?
摘要:Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能。目前,Apache Flink 1.9.0版本已经正式发布,该版本有什么样的里程碑意义,又具有哪些重点改动和新功能呢?本文中,阿里巴巴高级技术专家伍翀就为大家带来了对于Apache Flink 1.9.0版本的介绍。
演讲嘉宾介绍:
本次分享主要分为以下三个方面:
Flink 1.9.0的里程碑意义
Flink 1.9.0的重点改动和新功能
总结
一、Flink 1.9.0的里程碑意义
下图展示的是在2019年中阿里技术微信公众号发表的两篇新闻,一篇为“阿里正式向Apache Flink贡献Blink代码”介绍的是在2019年1月Blink开源并且贡献给Apache Flink,另外一篇为“修改代码150万行!Apache Flink 1.9.0做了这些重大修改!”介绍的是2019年8月Bink合并入Flink之后首次发版。之所以将这两篇新闻放在一起,是因为无论是对于Blink还是Flink而言,Flink 1.9.0的发版都是具有里程碑意义的。
在2019年年初,Blink开源贡献给Apache Flink的时候,一个要点就是Blink会以Flink的一个分支的形式开源,Blink会将其主要的优化点都Merge到Flink里面,一起将Flink做的更好。当我们结合这两篇报道来看的时候,能够发现当初Blink的一些新功能如今已经能够在Flink1.9.0版本里面看到了,也能看出Flink社区的效率和执行力都是非常高的。
二、Flink 1.9.0的重点改动和新功能
这部分将为大家介绍Flink 1.9.0的重点改动和新功能。
架构升级
整体而言,如果一个软件系统引入了较大的改动,那基本上是架构升级带来的,对于Flink而言也不例外。想必熟悉Flink的同学对于下图中左侧的架构图一定不会陌生,在Flink的分布式流式执行引擎之上有一整套相对独立的DataStream API和DataSet API,它们分别负责流计算作业和批处理作业。在此基础之上Flink还提供了一个流批统一的Table API和SQL,用户可以使用相同的Table API或者SQL来描述流计算作业和批处理作业,只需要在运行时告诉Flink引擎以流模式运行还是以批模式运行即可,Table层将会把作业优化成为DataStream作业或者DataSet作业。但是Flink 1.8版本的架构存在一些弊端,那就是DataStream和DataSet在底层共享的代码并不多。其次,两者的API也不同,因此就会导致上层重复开发的工作量比较大,长期来看就会使得Flink的开发和维护成本越来越大。
基于上述问题,Blink在架构上进行了一些先行的探索,经过和社区密切的讨论之后确定了Flink未来的架构路线。也就是在Flink未来的版本中,DataSet的API会被完全移除掉,SteamTransformation会作为底层的API来描述批作业和流作业,Table API和SQL会将流作业和批作业都翻译到SteamTransformation上。除此之外在Flink 1.9中为了不影响之前版本用户的体验,还需要一种能够让新旧架构并存的方案。基于这个目的,Flink的社区开发人员也做了一系列努力,提出了上图中右侧的Flink 1.9架构设计,将API和实现部分做了模块的拆分,并且提出了一个Planner接口,能够支持不同的Planner具体实现。 Planner的具体工作就是优化和翻译成物理执行图等,也就是架构图中间Query Processor所做的工作。Flink将原本的实现全部移动到了Flink Query Processor中,将对接新架构的从Blink Merge过来的功能都放到了Blink Query Processor。这样就能够实现一举两得,不仅能够使得Table模块拆分之后变得更加清晰,更重要的是也不会影响老版本用户的体验,同时能够使得用户享受到Blink的新功能和优化。
Table API & SQL 重构和新功能
在Table API & SQL 重构和新功能部分,Flink在1.9.0版本中也Merge了大量从Blink中增加的SQL功能。这些新功能都是在阿里巴巴内部经过千锤百炼而沉淀出来的,相信能够使得Flink更上一层台阶。这里挑选了一些比较重要的成果为大家介绍,比如对于SQL DDL的支持,重构了类型系统,高效流式的TopN,高效流式去重,社区关注已久的维表关联,对于MinBatch以及多种解热点手段的支持,完整的批处理支持,Python Table API以及Hive的集成。接下来也会简单介绍下这些新功能。
SQL DDL:在以前如果要注册一个Source或者Table Sink,必须要通过Java、Scala等代码或者配置文件进行注册,而在Flink 1.9版本中则支持了SQL DDL的语法直接去注册或者删除表。
重构类型系统:在Flink 1.9版本中实现了一套全新的数据类型系统,这套全新的类型系统与SQL标准进行了完全对齐,能够支持更加丰富的类型。这套全新的类型系统也为未来Flink SQL能够支持更加完备和完善的功能打下了坚实的基础。
TopN:在Flink 1.9版本提供强大的流处理能力以及社区期待已久的TopN来实时计算排行榜,比如能够实时计算销量前十的店铺。
高效流式去重:在现实的生产系统中,很多ETL作业或者任务没有做到端到端的一致性,这就导致明细层可能存在重复数据,这些数据交给汇总层做汇总时就会造成指标偏大,进而多计算了一些值,因此在进入汇总层之前往往都会做一个去重,这里引入了一个流计算中比较高效的去重功能,能够以比较低的代价来过滤重复的数据。
维表关联:能够实时地关联MySQL、HBase、Hive表中数据。
MinBatch&多种解热点手段:在性能优化方面,Flink 1.9版本也提供了一些性能优化的手段,比如提升吞吐的MinBatch的优化以及多种解热点手段。
最新经典文章,欢迎关注公众号
---------------------
作者:eastday
来源:eastday
原文:
Apache Flink 1.9.0版本新功能介绍
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
已有(2)人评论
电梯直达
正序浏览
美丽天空
发表于 2019-9-23 11:40:12
感谢分享
回复
使用道具
举报
显身卡
qx_code
发表于 2020-8-5 14:31:21
学习了!!!
回复
使用道具
举报
显身卡
还有一些帖子被系统自动隐藏,点此展开
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
发表新帖
fc013
超级版主
关注
558
主题
560
帖子
76
粉丝
TA的主题
【游戏行业科普 · 三】国内有哪些游戏公司、哪个城市发展较好
2023-8-25
阿里一面就被问懵了,加密后的数据如何进行模糊查询?
2023-8-17
Springboot 同一次调用日志怎么用ID串起来,方便最终查找
2023-6-2
ClickHouse的物化视图(Materialized View)使用介绍
2023-5-12
基于ClickHouse的近实时数据更新方案
2023-4-21
24小时热文
kafka面试题精选
Nebula Flink Connector 在实时 ETL 的实践
Apache Doris 用户案例集
国家电网公司主数据管理系统技术规范
企业的主数据建设方法论与实践
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈