介绍

大概4月,Flink1.13就发布了,参加 了Flink1.13 的Meetup,收获还是挺多,从大的方面讲就是FlingSql的改进和优化,资源调度管理方面的优化,以及流批一体Flink在运行时与DataStream API的优化,另外就是State backend 模块的优化,本篇文章既是当时做的笔记,又是在后续查阅官网等做的补充,

Flink 的一个主要目标取得了重要进展,即让流处理应用的使用像普通应用一样简单和自然。Flink 1.13 新引入的被动扩缩容使得流作业的扩缩容和其它应用一样简单,使用者仅需要修改并行度即可。

这个版本还包括一系列重要改动使使用者可以更好理解流作业的效能。当流作业的效能不及预期的时候,这些改动可以使使用者可以更好的分析原因。这些改动包括用于识别瓶颈节点的负载和反压视觉化、分析运算元热点程式码的 CPU 火焰图和分析 State Backend 状态的 State 存取效能指标

深入解读 Flink SQL 1.13

在刚刚发布的 1.13 版本中,Flink SQL 带来了许多新 feature 和功能提升,在这里围绕 Winddow TVF,时区支持,DataStream & Table API 交互,hive 兼容性提升,SQL Client 改进 五个方面

  • flip-145 window tvf

    • 完整关系代数表达

    • 输入是一个关系,输出是一个关系

    • 每个关系对应一个数据集

    • cumulater window eg: 每10分钟一次统计uv,,结果准确,不会有跳变

    • window 性能优化

      • 内存,切片,算子,迟到数据

      • benchmark 测试 2x提升

    • 多维数据分析:grouping sets ,rollup,cube等

  • flip-162时区分析

    • 时区问题:proctime未考虑时区,timestamp 也没有时区,各种current_time,now未考虑时区

    • 时间函数:current_timestamp 返回utc+0

    • 支持 tiestamp——ltz类型 timestamp vs timestamp_ltz

    • 纠正proctime()函数

    • 夏令时支持-同timestamp_ltz

  • flip-163 改进sql-client,hive兼容性

    • 支持更多实用配置

    • 支持statement set

  • flip-136 增强datastrem 和 table的转换

    • 支持ds 和table转换时传递 event time 和 watermark

    • 支持changelog数据流在table和datastream间相互转换

Flink 1.13: Towards Scalable Cloud Native Application

Flink 1.13 新增了被动资源管理模式与自适应调度模式,具备灵活的伸缩能力,与云原生的自动伸缩技术相结合,能够更好地发挥云环境下弹性计算资源的优势,是 Flink 全面拥抱云原生技术生态的又一重要里程碑。本次议题将对 Flink 1.13 中的被动资源管理、自适应调度、自定义容器模板等新特性,我觉得这个的扩展才是Flink此次版本特别重要的一个feature

  • 云原生 时代 flink,k8s,声明api,可弹性扩展

  • k8s高可用-(zk,k8s可选)

  • Rescale (reactive mode → adaptive mdoe → autoscaling mode(TBD,还未支持))https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/elastic_scaling/

  • Flip-158 generalized incremental checkpoints 让checkpoint更短时间

  • Pod Template 自定义Pod模板支持

  • Fine-细粒度资源管理-featrue 大概1.14支持

  • 纵向扩展资源和横向扩展资源,tm cpu → k8s, mem→no

面向流批一体的 Flink 运行时与 DataStream API 优化

在 1.13 中,针对流批一体的目标,Flink 优化了大规模作业调度以及批执行模式下网络 Shuffle 的性能,从而进一步提高了流作业与批作业的执行性能;同时,在 DataStream API 方面,Flink也正在完善有限流作业的退出语义,从而进一步提高不同执行模式下语义与结果的一致性

api下面的shuffle架构实现

  • 有限作业和无限作业,和预期结果一致

  • 大规模作业优化 consumerVetexGroup partitionGroup

  • 有限流作业结束一致性,2pc

  • 流批-数据回流

  • piplien and block-缓存主要是,离线处理

State backend Flink-1.13 优化及生产实践

flink1.14 的展望

  • 删除legacy planner

  • 完善window tvf

  • 提升 schema handing

  • 增强cdc

参考

更多可以查看Flink官网 https://ci.apache.org/projects/flink/flink-docs-release-1.13/release-notes/flink-1.13/

参考部分:https://tw511.com/a/01/34869.html

吴邪,小三爷,混迹于后台,大数据,人工智能领域的小菜鸟。

更多请关注

大数据开发-Flink-1.13新特性的更多相关文章

  1. BAT推荐免费下载JAVA转型大数据开发全链路教程(视频+源码)价值19880元

    如今随着环境的改变,物联网.AI.大数据.人工智能等,是未来的大趋势,而大数据是这些基石,万物互联,机器学习都是大数据应用场景! 为什么要学习大数据?我们JAVA到底要不要转型大数据? 好比问一个程序 ...

  2. Java转型大数据开发全套教程,都在这儿!

    众所周知,很多语言技术已经在长久的历史发展中掩埋,这期间不同的程序员也走出的自己的发展道路. 有的去了解新的发展趋势的语言,了解新的技术,利用自己原先的思维顺利改变自己的title. 比如我自己,也都 ...

  3. jdk 9 10 11 12 13 新特性

    jdk 9 新特性 1.集合加强 jdk9 为所有集合(List/Set/Map)都增加了 of 和 copyOf 方法,用来创建不可变集合,即一旦创建就无法再执行添加.删除.替换.排序等操作,否则将 ...

  4. 大数据开发实战:HDFS和MapReduce优缺点分析

    一. HDFS和MapReduce优缺点 1.HDFS的优势 HDFS的英文全称是 Hadoop Distributed File System,即Hadoop分布式文件系统,它是Hadoop的核心子 ...

  5. 详解Kafka: 大数据开发最火的核心技术

    详解Kafka: 大数据开发最火的核心技术   架构师技术联盟 2019-06-10 09:23:51 本文共3268个字,预计阅读需要9分钟. 广告 大数据时代来临,如果你还不知道Kafka那你就真 ...

  6. 大数据开发-Flink-数据流DataStream和DataSet

    Flink主要用来处理数据流,所以从抽象上来看就是对数据流的处理,正如前面大数据开发-Flink-体系结构 && 运行架构提到写Flink程序实际上就是在写DataSource.Tra ...

  7. 从 Airflow 到 Apache DolphinScheduler,有赞大数据开发平台的调度系统演进

    点击上方 蓝字关注我们 作者 | 宋哲琦 ✎ 编 者 按 在不久前的 Apache  DolphinScheduler Meetup 2021 上,有赞大数据开发平台负责人 宋哲琦 带来了平台调度系统 ...

  8. Atitit 数据融合merge功能v3新特性.docx

    Atitit 数据融合merge功能v3新特性.docx 1.1. 版本历史1 1.2. 生成sql结果1 1.3. 使用范例1 1.4. 核心代码1 1.1. 版本历史 V2增加了replace部分 ...

  9. 大数据开发实战:Stream SQL实时开发三

    4.聚合操作 4.1.group by 操作 group by操作是实际业务场景(如实时报表.实时大屏等)中使用最为频繁的操作.通常实时聚合的主要源头数据流不会包含丰富的上下文信息,而是经常需要实时关 ...

随机推荐

  1. Docker的深入浅出

    定义: Docker是一个虚拟环境容器,可以将你的开发环境.代码.配置文件等一并打包到这个容器中,并发布和应用到任意平台中. 原理: docker底层使用了LXC来实现,LXC将linux进程沙盒化, ...

  2. JAVA题目:小芳的妈妈每天给她2.5元,她都会存起来,但是,每当这一天是存钱的第五题或者5的倍数的话,她都会去用掉6块钱。 问:至少经过多少天可以存到100块?

    1 /*题目:小芳的妈妈每天给她2.5元,她都会存起来, 2 但是,每当这一天是存钱的第五题或者5的倍数的话, 3 她都会去用掉6块钱. 4 问:至少经过多少天可以存到100块? 5 */ 6 /*分 ...

  3. Java 读取Word文本/段落格式属性

    本文介绍通过Java后端程序代码来读取Word文本和段落格式的方法. 本次测试环境如下: Word版本:2013 编译环境:IntelliJ IDEA2018 Work库:free spire.doc ...

  4. Elasticsearch 集群优化-尽可能全面详细

    Elasticsearch 集群优化-转载参考1 基本配置 基本配置,5台配置为 24C 125G 17T 的主机,每台主机上搭建了一个elasticsearch节点. 采用的elasticsearc ...

  5. 远程拷贝文件--scp

    scp [user@host1:]file1 [user@host2:]file2         将主机1下的某一路径下的文件拷贝到另一个主机下的某一路径 scp -r [user@host1:]d ...

  6. python3使用kivy生成安卓程序

    技术背景 虽然现在苹果占据了很大一部分的市场,但是从销量数据来看,安卓还是占据了人口的高地.这里我们介绍一个用python的kivy+buildozer来进行安卓APP开发的简单教程,从整个过程中来看 ...

  7. Python转义字符中'\'的个数问题

    Python转义字符中''的个数问题 如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r' '或者r" "表示''或" "内部 ...

  8. 翻译:《实用的Python编程》09_01_Packages

    目录| 上一节 (8.3 调试) | 下一节 (9.2 第三方包) 9.1 包 如果编写一个较大的程序,我们并不真的想在顶层将其组织为一个个独立文件的大型集合.本节对包(package)进行介绍. 模 ...

  9. 后续来啦:Winform/WPF中快速搭建日志面板

    后续来啦:Winform/WPF中快速搭建日志面板 继昨天发文ASP.NET Core 可视化日志组件使用(阅读文章,查看视频)后,视频下有朋友留言 "Winform客户端的程序能用它不?& ...

  10. dubbo的spi思想是什么?

    spi,简单来说,就是service provider interface,说白了是什么意思呢,比如你有个接口,现在这个接口有3个实现类,那么在系统运行的时候对这个接口到底选择哪个实现类呢?这就需要s ...