当前位置: 首页 > news >正文

The Past, Present and Future of Apache Flink

本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024上海站主论坛开场的分享,今年正值Flink开源项目诞生的第10周年,借此时机,王峰回顾了Flink在过去10年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年Flink路向何方。内容主要分为这三个部分:

  1. Apache Flink 10周年发展回顾

  2. Apache Flink 当前的发展现状

  3. 展望新一代 Apache Flink

Tips:点击「阅读原文」前往官网查看 FFA 2024 直播回放~

01

 The Past

Apache Flink 是大数据实时化升级的核心推动力

726af2b0f9e70c720e40df2f4c28d587.png

Apache Flink 起源于2009年德国柏林工业大学的一个研究项目 Stratosphere。2014 年,该项目的核心团队将其捐赠给 Apache 基金会,并更名为 Flink(德语中意为“快”),同年成为 Apache 顶级项目。几乎同时,Flink 的创始团队成立了公司 DataArtisans 以支持其发展。

2015 年至 2016 年间,随着阿里巴巴集团业务特别是电商领域(如“双十一”购物节)的迅速扩张,对实时数据处理的需求激增。尽管阿里已有成熟的离线数据处理系统 ODPS,但对于秒级响应的实时数据处理仍面临挑战。经过评估,阿里选择了 Apache Flink 作为其新的实时计算平台解决方案。至 2016 年的“双十一”,Flink 已在阿里巴巴内部大规模部署并成功支持了相关活动。

8fe26b85a2a350f9ced24ae0be761ceb.png

阿里巴巴对 Flink 社区进行了持续的投资和支持,主要目的是推动 Flink 技术在中国乃至全球范围内的广泛应用,并促进其成长。2018 年底成立了 Flink 中文社区,并举办了首届 Flink Forward Asia 大会。至今已连续举办七届,即便在疫情期间也未中断。2019 年,阿里收购了 Flink 的创始公司 DataArtisans,之后不久,为了更好地反映公司愿景及其在全球范围内的扩张计划,Data Artisans 更名为 Ververica。同年,阿里巴巴向 Apache Flink 贡献了内部开发多年的 Blink 项目,涉及超过 150 万行核心代码。此举极大地促进了 Flink 社区自 2019 年起在全球范围内的快速发展。

edb922c98d7a5db7989986270731d5c6.png

Apache Flink 在过去十年中逐渐成为全球范围内广泛认可的实时流处理框架,得到了工业界和学术界的共同认可。2023 年,Flink 不仅被顶级机构 SIGMOD 授予系统大奖,还见证了多项技术创新,如阿里巴巴捐赠了 Flink CDC(一个实时数据集成框架)给 Flink 社区,并孵化出了新一代实时数据湖 Paimon。至今,Flink 拥有近 2000 位来自世界各地的贡献者,其中约 40%来自中国,显示出中国开发者在该开源项目中的活跃度。阿里巴巴对 Flink 的支持尤为突出,连续七年举办 Flink Forward 大会,促进了技术交流与分享。此外,中国的 Flink PMC 成员及 Flink 开发者们通过微信公众号等平台积极推广 Flink 相关知识和技术文章,极大地推动了 Flink 在中国乃至全球范围内的应用和发展。

Flink 之所以能够取得如此成就,关键在于它顺应了时代发展的需求,适应了近年来大数据领域从离线处理向实时处理转变的趋势,满足了包括互联网、金融、电信、能源、制造、物联网等多个行业对于更高效数据分析的需求。

02

 The Present

Apache Flink 已成为大数据流计算全球事实标准

1499379a1a58c54b7d3774840b7e203e.png

Flink 十年磨一剑,除了阿里巴巴付出非常多的努力来推动它的成长,也离不开中国广大企业、广大开发者的支持,使得 Flink 成为全球范围内大数据流计算的实时标准。其成功不仅源于时代需求,更在于优秀的技术架构设计、扎实理论基础和开放繁荣生态。作为业界首款实现流批融合的计算引擎,Flink 支持Java/SQL/Python 等多语言 API,满足了从大数据开发者到 AI 领域用户的广泛需求。通过丰富的 Connector 和 CDC 子系统,Flink 无缝连接数据库、数据仓库、数据湖等多种存储系统,成为促进不同数据系统间实时流动与分析的关键桥梁,堪称大数据生态中的“数据高速公路”。

939b13f5a4768f61479abf08ae958d24.png

Flink 社区一直在探索实时计算和大数据处理的边界,并对其架构进行了重大升级,其中最重要的升级是场景化扩展,使得 Flink 从最初的流式数据处理发展到了更广泛的流式湖仓(Lakehouse)架构。自 2022 年起,Flink 开始孵化子项目 Flink Table Store,旨在开发一种支持实时更新的数据湖存储格式;到 2023 年,该项目独立孵化并更名为 Paimon,现已成长为 Apache 基金会的一个顶级项目。结合使用 Flink 与 Paimon,可以实现从计算到存储的一体化解决方案,适用于构建流批一体化的新一代湖仓系统。

在这种架构下,通过 Flink CDC 工具可将外部数据实时导入 ODS 层,随后利用 Flink 提供的流批一体 SQL 功能在 Paimon 上执行 ETL 操作,从而形成一个完整的实时离线一体化处理平台。这种基于Flink+Paimon的流式湖仓架构被认为是传统 Lakehouse 架构的一种进化版本,它不仅保留了原有 Lakehouse 的优点,还额外提供了全链路实时处理能力和统一的流批处理体验。

bd7a6818915a142ea6cc094f1df99955.png

流式湖仓作为一种创新技术架构,引起了业界不少公司的关注,并在 2024 年的多个场景中得到了实际应用。特别是在上个月刚刚结束的阿里巴巴“双十一”活动中,通过采用 Flink+Paimon 这一最新的流式湖仓架构,实现了重要业务场景的成功落地,如天猫营销分析大屏。该案例展示了如何利用统一的技术栈来处理实时与离线数据处理需求,从而保证了数据口径的一致性,并显著降低了存储和计算成本。具体来说,由于采用了同一套架构,避免了重复开发 SQL 逻辑以及双份数据存储的需求,使得整体解决方案更加高效、经济。此外,这种架构还支持运营人员实时查看商品成交来源及流量调配情况,同时允许数据分析师在夜间进行更精确的数据回刷以获取最终结果,比如反作弊信息的更新等。未来,随着更多企业对效率提升及成本控制需求的增长,预计这种新型架构将在更广泛的行业范围内得到推广和应用。

03

 The Future

新一代 Apache Flink 即将发布

5578e8893a3de53d37715519d653a1eb.png

Flink 经过十年的发展已成为流处理领域的事实标准,接下来面对 AI 新时代、面向全面云原生时代,Flink 的技术架构也需要与时俱进的升级。在 Flink 十周年之际即将推出新一代的 Flink 架构——Flink2.0,这是自 2016 年发布 Flink 1.0 以来最大规模的技术架构升级。

Flink 2.0 的主要升级方向包括:

  1. 全面云原生架构:采用存算分离设计,将状态存储迁移至云存储中,从而显著提高系统的容错性、灾难恢复能力和弹性。

  2. 改进的流批一体计算范式:简化用户操作流程,实现更自动化、更易用的流批一体处理能力,降低用户使用门槛,提供更加端到端的服务体验。

  3. 增强AI支持:加强与AI技术特别是大模型系统的集成,使Flink能够更好地服务于 AI 应用场景,并优化与向量数据库等数据基础设施之间的交互,促进数据与AI的深度融合。

总结来说,Flink 2.0 还有非常多的新特性,在此仅做简单的预告,可以期待后续更深入地探讨,以全面揭示 Flink 2.0 的强大功能和潜力。

相关文章:

The Past, Present and Future of Apache Flink

摘要:本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024上海站主论坛开场的分享,今年正值Flink开源项目诞生的第10周年,借此时机,王峰回顾了Flink在过去10年的发展历程以及 Flink社区…...

多模块应用、发布使用第三方库(持续更新中)

目录: 1、多模块概述(HAP、HSP、HAR) HAR与HSP两种共享包的主要区别体现在: 2、三类模块: 3、创建项目:项目名:meituan (1)创建Ability类型的Module,编译后为HAP文件…...

An error happened while trying to locate the file on the Hub and we cannot f

An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. 关于上述comfy ui使用control net预处理器的报错问…...

UE5安装Fab插件

今天才知道原来Fab也有类似Quixel Bridge的插件,于是立马就安装上了,这里分享一下安装方法 在Epic客户端 - 库 - Fab Library 搜索 Fab 即可安装Fab插件 然后重启引擎,在插件面板勾选即可 然后在窗口这就有了 引擎左下角也会多出一个Fab图标…...

Linux C语言操作sqlite3数据库

一、环境配置 1、下载源码:sqlite-autoconf-3470200.tar.gz 2、解压,cd到源码主目录 3、配置参数 ./configure --prefix/usr/local/ 如果是交叉编译环境 ./configure CC/opt/rk3288/gcc-linaro/bin/arm-linux-gnueabihf-gcc --hostarm-linux --pre…...

【人工智能】因果推断与数据分析:用Python探索数据间的因果关系

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 因果推断是数据科学领域的一个重要方向,旨在发现变量间的因果关系,而不仅仅是相关性。本篇文章将从因果推断的理论基础出发,介绍因果关系的定义与建模方法,涵盖因果图(Causal Graph)、d-分离、反事实估计等…...

freeswitch(30秒自动挂断)

亲测版本centos 7.9系统–》 freeswitch1.10.9 本人freeswitch安装路径(根据自己的路径进入) /usr/local/freeswitch/etc/freeswitch场景说明: A和B接通通话时候,时间开始计算到达30秒后自动挂断使用方法 进入/usr/local/freeswitch/etc...

大模型呼入机器人有哪些功能特点?(转)

大模型呼入机器人有哪些功能特点?(转) 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 大模型呼入机器人,作为现代通信技术与人工智能深度融合的产物,正逐渐成为企业提升服务…...

网络工程师常用软件之配置对比软件

「24-配置比对软件-汉化WinMerge」 链接:https://pan.quark.cn/s/cef7541d62d1 ################################################################################ 我们经常在项目或者运维中对设备的config进行变更,那么我们如何快速的知道变更了什么…...

Linux之远程登录

一、使用ssh命令登录 winR打开cmd输入命令 # root是命令,192.168.101.200是地址 ssh root192.168.101.200是否要保存密码,就是yes以后可以免密登录,这里就yes了 输入密码,就登录成功了 操作完成之后,输入命令退出 e…...

#渗透测试#漏洞挖掘#红蓝攻防#js分析(上)

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...

数智读书笔记系列006 协同进化:人类与机器融合的未来

书名:协同进化:人类与机器融合的未来 作者:[美]爱德华阿什福德李 译者:李杨 出版时间:2022-06-01 ISBN:9787521741476 中信出版集团制作发行 爱德华・阿什福德・李(Edward Ashford Lee)是一位在计算机科学与工程领域颇具影响力的学者&am…...

操作系统(7)处理机调度

前言 操作系统中的处理机调度是一个核心概念,它涉及如何从就绪队列中选择进程并将处理机分配给它以运行,从而实现进程的并发执行。 一、调度的层次 高级调度(作业调度): 调度对象:作业(包含程序…...

folly之侵入式链表

侵入式链表 侵入式链表(Intrusive Linked List)是一种数据结构,它的节点不是通过包含链表节点的对象来实现的(像非侵入式链表那样),而是通过在节点对象中直接包含指向其他节点的指针来实现的。这意味着链表节点对象本身需要被修改以包含指向链表其他部分的指针。 直接上…...

GPT-5 训练遇阻:预期目标难达成与交付延期的深度剖析

# GPT-5 训练遇阻:预期目标难达成与交付延期的深度剖析 近期,GPT-5 的训练进展引发了广泛关注与诸多讨论,令人遗憾的是,其训练并未达到预期目标,且难以在规定时间内交付。这一状况不仅让期待它的人们大感意外&#xf…...

C缺陷与陷阱 — 3 深入理解表达式

目录 1 表达式的运算次序 1.1 自增或自减操作符 1.2 函数参数 1.3 函数指针 1.4 函数调用 1.5 嵌套赋值语句 2 函数调用不作为函数参数 3 赋值语句的谨慎使用 1 表达式的运算次序 除了少数操作符(函数调用操作符 ( )、&&、| |、? : 和 ,&#xff…...

Linux常用指令-----中

Linux常用指令----上 Linux常用指令----下 Linux系列 文章目录 Linux系列前言一、man指令(重要)二、cp指令(重要)三、echo指令四、cat指令五、mv指令六、which指令七、alias指令总结 前言 接下来我们介绍的指令是承接上篇&#…...

k8s 部署方式kustomization和helm的区别

Kustomize 和 Helm 是 Kubernetes 中两种流行的配置管理工具,它们都用于管理 Kubernetes 资源,但它们的设计理念、功能和适用场景有所不同。以下是两者的详细对比: 1. 基本概念 Kustomize 功能:原生于 Kubernetes 的工具&#x…...

Alogrithm:骑士走棋盘

1. 说明 骑士旅游(Knights tour)在十八世纪初倍受数学家与拼图迷的注意,它什么时候被提出已不可考,骑士的走法为西洋棋的走法,骑士可以由任一个位置出发,它要如何走完所有的位置? 2. 解法 骑士旅…...

Oracle 与 达梦 数据库 对比

当尝试安装了达梦数据库后,发现达梦真的和Oracle数据库太像了,甚至很多语法都相同。 比如:Oracle登录数据库采用sqlplus,达梦采用disql。 比如查看数据视图:达梦和Oracle都有 v$instance、v$database、dba_users等&a…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

AspectJ 在 Android 中的完整使用指南

一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...

xmind转换为markdown

文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...

aardio 自动识别验证码输入

技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...