Flink Has Become the De-facto Standard of Streaming Compute

摘要:本文整理自 Apache Flink 中文社区发起人、阿里巴巴开源大数据平台负责人王峰(莫问),在 Flink Forward Asia 2023 主会场的分享。Flink 从 2014 年诞生之后,已经发展了将近 10 年,尤其是最近这些年得到了飞速发展。在全球范围内,Flink 已经成为了实时流计算的事实标准。但是 Flink 不会止步于此。Flink 社区在用户的推动下,不断地在技术创新和技术演进中,向着未来的更多场景发展,本次分享将为大家汇报 Flink 在 2023 年的核心技术成果和技术发展的趋势。

一、Apache Flink 全球社区持续活跃

1

Flink 在最近十年,持续保持着稳定快速的发展。全球开发贡献者已经超过了 1700 名,贡献者来自世界各地,不仅有中国,也有欧洲、美洲等地区,大家共同推动 Flink 社区发展。同时,Flink 下载量也创下新高。今年,月下载量突破了 2200 万次,更多的使用者、企业下载 Flink,应用于学习、测试和生产,进行实时数据处理。

二、Apache Flink 斩获 SIGMOD 2023 系统大奖

2

今年年中,Flink 团队也获得了SIGMOD 2023 系统大奖。SIGMOD 是整个数据处理领域中的顶级会议,也是最有权威性的会议之一。SIGMOD 每年都会评选出一项在全球工业界得到广泛使用和验证的创新性系统技术,授予其系统大奖。今年 SIGMOD 将大奖授予了Apache Flink,以表彰 Flink 在全球范围内实时流处理领域的领先地位和广泛应用。这再一次验证了 Flink 不仅在中国,也在全球范围内得到了认可,成为事实上的流计算标准。

上图获奖名单中,可以看到一条特殊的风景线,几乎 50%都是来自于华人。华人开发者突出的贡献,推动了社区的发展。

三、Apache Flink 中文社区五周年

3

中国开发者愿意加入社区、推动 Flink 的发展。可以说 Flink 是一款由华人工程师主导的全球性开源大数据项目。Apache Flink 中文社区是于 2018 年成立的本土化社区。社区创建初衷旨在推进 Flink 在中国的社区发展和技术普及。国内各大公司都参与了建设,包括腾讯、快手、字节、美团等,推动了 Flink 中文社区的快速发展。Flink Forward Asia(以下简称 FFA)也是中文社区的重要产物,从 2018 年开始,阿里云承办 Flink Forward 大会,并保持每年一次 FFA 峰会。通过丰富的社区活动和众多的内容贡献,我们积累了非常多的 Flink 学习材料,供开发者学习和使用。

四、Apache Flink Major Releases in 2023

4

Flink 作为开源大数据领域的常青树,这些年一直保持快速发展。除了踊跃的社区贡献者和持久化运营支撑之外,最核心的推动力,是它的技术本质。Flink 社区在技术核心领域不断演进,每年都能推出各种新特性、新创新,给用户带来新的业务价值,使得用户愿意使用、贡献、推动它的发展。

下面我汇报一下 Flink 在 2023 年团队所取得的核心技术进展:

Flink 社区依然保持了一年两个大版本的发布,上半年 Flink 1.17 和下半年 Flink 1.18 两个大版本。在这两个版本中,社区依然产生了很多新的贡献者。在核心的流处理领域内,Flink 开发团队精益求精,根据用户诉求和业务场景进行打磨、完善。在流批一体的计算领域,我们持续完善了 Flink 在批处理模式下的性能问题和功能完善性问题,使 Flink 能够成为一款真正在有限数据集和无限数据集都能够统一处理的优秀计算引擎。

此外,在场景上,我们也持续创新。Flink 希望能够处理更多的数据,让更多的数据能够流动起来。所以我们让 Flink 跟 Lakehouse 架构产生合作协同的效果。Lakehouse 架构已经成为了现在数据分析领域的新架构趋势,越来越多的用户将传统的基于 Hive 的数仓体系转移到 Lakehouse 架构上。我们希望基于 Flink 实时计算能力可以加速 Lakehouse 数据流动和数据分析效果。

在部署架构上,我们在 Flink 社区也做了非常多的工作,推动 Flink 在云上更好的运行。Cloud Native 现在不仅是大数据,也是包括 AI、数据库、各种计算系统的新底座,越来越多的项目、软件都必须要能够很好的运行在云上,去给用户更好的体验。

五、Streaming SQL 精益求精、持续完善

img

我挑选了 Flink 社区在 2023 年这两个大版本中非常有价值的技术特性,给大家做一个解读。首先,在最核心的 Streaming 计算领域,我们做了哪些重要升级?

Streaming SQL 是用户最关注的,也是用户用得最多的,给用户最直接的体感。Flink SQL 功能强大。使用 Flink SQL 可以实时分析各种流式数据。今年我们对 Flink SQL 做了非常多的改进。可以看到有数百个 issue 在围绕着 Flink SQL,有 40 多名新的贡献者在贡献 Flink SQL,比如说今年新推出了一个新特性,叫 Plan Advice,帮助用户智能检查 Streaming SQL,发现潜在的语义上的风险等,第一时间给用户进行提示,告诉用户 SQL 可能写得不够好,存在一定风险和潜在的未知情况,并且给出可行建议。避免在运行时出现不确定性因素和不稳定情况,这些都是非常实用的功能。

此外 SQL 的用户还有很多需求,希望能够 SQL 更加灵活,是像 DataStream 一样,Flink 早期都是用 Java 等语言来写,DataStream 数据有很多灵活的功能,我们也希望把它推进到 SQL 中,让 SQL 的用户也能够在简化开发的同时,享受到这些系统灵活性。比如像 Watermark 更加灵活的管理,基于算子级别的 STATE TTL 配置等。同时,我们在 SQL 的基础框架 Calcite 进行了大幅升级,让整个 SQL 的 Plan 优化能力更强,效果更好。

六、通用增量 Checkpoint 全面应用上线

6

我们在 Stream 核心架构上做了比较大的升级工作。Flink 的最大特点是面向状态的计算。它自带状态存储和状态访问能力、状态管理 Checkpoint 快照管理等,这些都是 Flink 非常核心的部分,用户在这块儿也有很强诉求。Flink 定期会做全局一致性快照,快照的频率越快越好,代价越小越好,这样可以让系统在出现容错的时候,尽量少的数据回放。比如说做到秒级的 Checkpoint 是非常好的效果。因此,我们努力将它落地,通用增量 Checkpoint 能力在 Flink1.17 和 1.18 落地,并且达到了完全生产可用的状态。国内非常多的公司开始在大规模生产使用这项新的技术。这些技术也是基于 log 的能力,进行 log 打点的方式进行推广,框架因为是必要基于 log 打点 Checkpoint 能力,工作是比较轻量的,所以它可以快速地实现 Checkpoint。同时架构将 Checkpoint 和状态数据的物化进行解耦。这样天然就打散了各个 Task 数据 IO 的时间点频率。这样整个系统就没有瞬间的波动,系统会变得更加平滑。因此,实现了整个 Checkpoint 又快又平滑的效果。

七、Flink Batch – 日益成熟,生产可用

7

在 Batch 方面,我们也做非常多的工作,Flink 作为一款流批一体引擎,我们希望它具备更加全面的计算能力,给用户带来一站式的数据计算和数据开发体验。总体来说, Batch 完善更多一点,因为 Batch 相关工作,Flink 启动得较晚一些,不像 Streaming 已经非常完善了,但是我们经过今年的努力,把用户的需求进行了落地。无论从功能上,还是从系统稳定性上,还是从用户易用性角度,我们把这些事情都已经做在了 Flink 生态的版本中,现在 Flink 已经具备了真正达到业界主流 Batch 引擎的能力。

今天,可以看到很多公司来分享 Flink 能力如何在生产中发挥的效果。此外,我们一直对 Batch 引擎做了很多的性能优化,不仅基于核心的流引擎的这种优势,去优化 Batch 场景下的执行效率。同时,我们也将传统 Batch 上的一些优化的手段都在 Flink 里进行了实现。

8

总体来说,Flink Batch 在功能、性能方面都非常完善了。通过 Batch 模式下,在 TPC-DS 10T 的 Benchmark 的测试项目中可以看到,Flink 1.18 相比 Flink 1.16 拿到了 50%以上的性能优化结果。每年持续性能优化下,让 Flink 不仅在流计算领域达到业界的最强水平,在 Batch 领域也可以达到一流的执行能力。Flink 正逐渐成为功能最全面、综合性能最好的计算引擎。

八、高效弹性扩缩容新范式 – 进一步走向云原生

9

除了 Flink 核心引擎技术进展之外,我们在云原生分布式部署架构上也做了非常多的完善。随着越来越多的计算负载迁移到云上,大家特别在意云上运行体验。云上最大的特点是弹性特别好,云计算提供了无限的资源,用户可以根据自己业务负载,动态选择用多少资源满足业务需求。Flink 也在今年做了很多工作去适应新的运行架构。

比如,我们通过开放 API,支持用户可以在线实时进行扩缩容,Schedule 任务更改并发度,Flink 调度器可以不重启整个 Job,而只是在内部去调整它的并发度,对用户的体感是非常友好。State Backend 在过程中,进行了全程配合。状态数据可以更快的恢复、下载、复用,保证端到端的过程非常迅速和轻量。此外,我们知道自动扩缩容过程不可能完全靠人工来去操作触发,因为业务的变化,并没有特别强的规律,而且频率具有不确定性,因此,我们希望它自动完成。我们推出了基于 K8S Operator 的 AutoScale 技术去动态、实时地监控整个任务负载。任务延迟性根据这些实时指标自动的、动态地调整并发度。结合引擎能力可以实现全程无人值守的弹性扩缩,以此更好的利用云的特性,来服务业务。

九、Flink 在加速融入 Lakehouse 新架构

10

Flink 在新业务场景下,我们也做了非常多的尝试。其中,最大的一个创新,是让 Flink 和 Lakehouse 有更好的融合、集成。Lakehouse 是新一代的数据分析架构,Flink 是一款最好的实时计算引擎。基于两者的结合, Flink 能够发挥价值,让整个 Lakehouse 数据运行流动得更快。我们在今年两个大的版本中也加入了很多新的 API 对 Lakehouse 进行支持。通过这些新的 API,可以更好的去利用 Flink 管理 Lakehouse,更好的对接了 Lakehouse 中的湖存储格式,更好的去读写 Lakehouse 的数据。同时,Flink 也增加了对 JDBC Driver 的能力支持。开发者使用传统 BI 工具都可以跟 Flink 进行无缝衔接,利用 Flink 更好的分析 Lakehouse 数据。

十、大数据业务从离线向实时加速升级

11

近些年来,Flink 每年都会做出很多技术创新和技术架构的升级,去满足用户的需求。Flink 一直在遵循着一个新的趋势:大数据的业务场景正在因离线向实时加速升级而转换。在大的浪潮下,Flink 的每一项工作都能够得到验证,不断满足用户价值。我们可以看到越来越多的行业,如互联网、金融、制造业、交通等都开始这样的演进,各种各样的数据分析场景都开始从离线向实时进行升级,更进一步地发挥出数据价值。

Flink Forward Asia 2023

本届 Flink Forward Asia 更多精彩内容,可扫描图片二维码观看全部议题的视频回放及 FFA 2023 峰会资料!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/273209.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Windows】共享文件夹拍照还原防火墙设置(入站,出站设置)---图文并茂详细讲解

目录 一 共享文件夹(两种形式) 1.1 普通共享与高级共享区别 1.2 使用 二 拍照还原 2.1 是什么 2.2 使用 三 防火墙设置(入栈,出站设置) 3.1 引入 3.2 入站出站设置 3.2.1入站出站含义 3.3入站设置 3.4安装jdk 3.5使用tomcat进行访…

nat地址转换

原理 将内网地址转换成外网地址 方式 掌握动态NAT的配置方法 掌握Easy IP的配置方法 掌握NAT Server的配置方法 实验 r1 r2 是内网 ar1 ip地址 ip add ip地址 掩码 ip route-static 0.0.0.0 0 192.168.1.254 默认网关 吓一跳网关 相等于设置了网关 ar2 …

低代码选型注意事项

凭借着革命性的生产力优势,低代码技术火爆了整个IT圈。面对纷繁复杂的低代码和无代码产品,开发者该如何选择? 在研究低代码平台的年数上,本人已有3年,也算是个低代码资深用户了,很多企业面临低代码选型上的…

内网穿透的应用-Ubuntu安装XRDP远程桌面结合内网穿透实现远程桌面Ubuntu

文章目录 一、 同个局域网内远程桌面Ubuntu二、使用Windows远程桌面连接三、公网环境系统远程桌面Ubuntu1. 注册cpolar账号并安装2. 创建隧道,映射3389端口3. Windows远程桌面Ubuntu 四、 配置固定公网地址远程Ubuntu1. 保留固定TCP地址2. 配置固定的TCP地址3. 使用…

ES-搜索

聚合分析 聚合分析,英文为Aggregation,是es 除搜索功能外提供的针对es 数据做统计分析的功能 - 功能丰富,提供Bucket、Metric、Pipeline等多种分析方式,可以满足大部分的分析需求 实时性高,所有的计算结果都是即时返回…

什么是多域名证书

SSL多域名证书,也称为UCC证书或SAN SSL证书,是一种特殊类型的SSL证书,可以在一个SSL证书中包含多个域名(Subject Alternative Name)。与传统的SSL证书不同,通常只绑定到一个特定的域名或子域名上&#xff0…

Bug:Too many open files【ulimit限制】

Bug:Too many open files 今天在开发某个下载功能时,发现文件总是下载到250多个程序就挂掉,同时会打崩服务器,查看错误日志发现报:too many open files. 思路:根据错误信息可以知道打开的文件数过多&#x…

从PDF中提取图片

由于工作需要,要从pdf文件中提取出图片保存到本地,项目中就引用到了Apache PDFBox库。 1 什么是Apache PDFBox? Apache PDFBox库,一个用于处理PDF文档的开源Java工具。它允许用户创建全新的PDF文件,操作现有的PDF文档&#xff0…

Spring实战系列(三)了解容器的基本实现

我们可以通过GitHub或者码云下载spring-framework源码,这边是基于5.X版本进行下载学习的。 地址:https://github.com/spring-projects/spring-framework 分析Spring源码是非常一件的难的事情,只能一步步学习,一步步记录。 前面在…

00-Git 应用

Git 应用 一、Git概述 1.1 什么是Git git 是一个代码协同管理工具,也称之为代码版本控制工具,代码版本控制或管理的工具用的最多的: svn、 git。 SVN 是采用的 同步机制,即本地的代码版本和服务器的版本保持一致(提…

strlen和sizeof的初步理解

大家好我是Beilef,一个美好的下我接触到编程并且逐渐喜欢。我虽然不是科班出身但是我会更加努力地去学,有啥不对的地方请斧正 文章目录 目录 文章目录 前言 想必大家对sizeof肯定很了解,那对strlen又了解多少。其实这个问题应该让不少人困扰。…

MinGW64CMake编译3D模型导出工具assimp.exe

一.Assimp开源项目 针对OBJ,FBX,X等3D模型动画文件进行处理和转化的开源项目,可对各种3D数据结构文件进行内容解析和导出. gitee下载地址:Gitee 极速下载/Assimp - Gitee.com code\AssetLib:FBX,DAE,MD5等3D模型动画文件的解析,可查看对应格式文件的数据结构 tools\assimp_cmd:…

centos 安装oracle 11.2.04 并配置数据库自启动操作记录,一次完成

环境: centos版本7.3,安装的有图形化界面 Oracle11.2.04,之所以选择这个版本是因为网上有人说11其他版本的在安装的过程中会出现这样或那样的问题,下载地址放到文章下面 步骤,按顺序: 1、创建安装Oracle…

【zip密码】zip文件打开密码忘了怎么办

Zip压缩包设置了密码,解压的时候就需要输入正确对密码才能顺利解压出文件,正常当我们解压文件或者删除密码的时候,虽然方法多,但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么,忘记了zip压缩包的密…

2014年第三届数学建模国际赛小美赛A题吹口哨解题全过程文档及程序

2014年第三届数学建模国际赛小美赛 A题 吹口哨 原题再现: 哨子是一种小装置,当空气被迫通过开口时会发出声音。哨声的巨大而引人注目,使其对警察和体育裁判来说至关重要。当救生员、迷路的露营者或犯罪受害者使用它们时,它们可以…

【python与机器学习3】感知机和门电路:与门,或门,非门等

目录 1 电子和程序里的与门,非门,或门,与非门 ,或非门,异或门 1.1 基础电路 1.2 所有的电路情况 1.3 电路的符号 1.4 各种电路对应的实际电路图 2 各种具体的电路 2.1 与门(and gate) 2…

SpringBoot3 应用分析

SpringBoot3-快速入门 1、简介 1. 前置知识 Java17Spring、SpringMVC、MyBatisMaven、IDEA 2. 环境要求 环境&工具版本(or later)SpringBoot3.0.5IDEA2021.2.1Java17Maven3.5Tomcat10.0Servlet5.0GraalVM Community22.3Native Build Tools0.9.1…

linux开放tomcat 8080端口

1、查看8080是否开放 firewall-cmd --query-port8080/tcp查看已开启的端口 firewall-cmd --list-ports开启防火墙 systemctl start firewalld2、永久开放8080端口 firewall-cmd --zonepublic --add-port8080/tcp --permanent3、重加载(重启防火墙) …

教程分享:如何将音频生成二维码?

音频二维码正在各行各业发挥着重要的作用。比如出版图书中的发音讲解二维码;艺术展博物馆展览中的音频讲解二维码;在线音乐教学通过音频二维码向学员提供教学资料;品牌在创意广告中使用音频二维码向客户提供定制二维码祝福…… 其实&#xf…

OAuth2授权码模式---详解

OAuth2简介 是一个业界标准的授权协议(authorization protocol),这里的授权是以委派代理(delegation)的方式。可以这样理解,OAuth 2.0提供一种协议交互框架,让某个应用能够以安全地方式获取到用…
最新文章