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 的强大功能和潜力。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

城市大脑新型智慧城市数据中台建设方案

建设背景与现状 随着城市化进程的加速,城市数据呈现出爆炸式增长,但数据的整合、共享和利用却面临诸多挑战。信息孤岛、数据冗余、管理分散等问题日益突出,制约了智慧城市的发展。为了解决这些问题,构建城市大脑新型智慧城市数据…

力扣-图论-12【算法学习day.62】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…

每日一站技術架構解析之-cc手機桌布網

# 網站技術架構解析: ## 一、整體架構概述https://tw.ccwallpaper.com是一個提供手機壁紙、桌布免費下載的網站,其技術架構設計旨在實現高效的圖片資源管理與用戶訪問體驗優化。 ### (一)前端展示 1. **HTML/CSS/JavaScript基礎構…

代码随想录算法训练营第三十二天|动态规划理论基础|LC509.肥波那些数|LC70.爬楼梯|LC746.使用最小花费爬楼梯

动态规划理论基础 解释:动态规划,英文:Dynamic Programming,简称DP;如果某一问题有很多重叠子问题,使用动态规划是最有效的。 动态规划五部曲: 1、确定dp数组(dp table)…

RabbitMQ Work Queues (工作队列模式) 使用案例

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:RabbitMQ 📚本系列文章为个人学…

【安卓开发】【Android Studio】启动时报错“Unable to access Android SDK add-on list”

一、问题描述 在启动Android Studio时,软件报错:Unable to access Android SDK add-on list,报错截图如下: 二、原因及解决方法 初步推测是由于网络节点延迟,无法接入谷歌导致的。点击Cancel取消即可。

掌握线性回归:从简单模型到多项式模型的综合指南

目录 一、说明 二、简单线性回归 三、线性回归的评估指标 3.1 线性回归中的假设 四、从头开始的简单线性回归代码 五、多元线性回归 六、多元线性回归代码 七、多项式线性回归 八、多项式线性回归代码 九、应用单变量多项式回归 十、改变多项式的次数 十一、多列多项式回归 一、…

sqlmap详解

一.sqlmap -u URL --forms sqlmap -u http://192.168.11.136:1337//978345210/index.php --forms 针对特定的 URL 进行 SQL 注入测试,特别是针对表单(form)的 POST 注入 forms:这个参数告诉 sqlmap 解析并测试目标 URL 中的表单…

OBS + SRS:打造专业级直播环境的入门指南

OBS SRS:打造专业级直播环境的入门指南 1. OBS简介2. OBS核心功能详解2.1 场景(Scenes)管理2.2 源(Sources)控制2.3 混音器功能2.4 滤镜与特效2.5 直播控制面板 3. OBS推流到SRS服务器配置指南3.1 环境准备3.2 OBS推流…

Vue组件相关记录

Vue组件开发 非单文件组件 创建组件api Vue.extend({}) const student Vue.extend({template: <div>{{studentName}} - {{age}}</div>,data() {return {studentName: jjking,age: 12}}})new Vue({el: #app,//局部注册components: {student: student}})不能使用e…

【潜意识Java】深入理解 Java 面向对象编程(OOP)

目录 什么是面向对象编程&#xff08;OOP&#xff09;&#xff1f; 1. 封装&#xff08;Encapsulation&#xff09; Java 中的封装 2. 继承&#xff08;Inheritance&#xff09; Java 中的继承 3. 多态&#xff08;Polymorphism&#xff09; Java 中的多态 4. 抽象&…

【Linux SH脚本】LinuxCheck 应急检查信息脚本

LinuxCheck 1.下载地址 【Linux SH脚本】LinuxCheck 应急检查信息脚本 2.简介 LinuxCheck 是一个开源的自动化检查脚本&#xff0c;旨在快速检测 Linux 系统的安全配置和潜在问题。它支持多种发行版&#xff0c;能够扫描并生成详细的报告&#xff0c;涵盖用户管理、权限配置…

docker 部署 redis

docker 部署 redis 1. 下载 redis 镜像 # docker images | grep redis bitnami/redis 7.2.4-debian-11-r5 45de196aef7e 10 months ago 95.2MB2. docker-compose 部署 version: "3" services:redis:image: bitnami/redis:7.2.4-debian-11-…

相机测距原理

基础概念的回顾 焦距的定义 焦距是指透镜或镜头的光学中心&#xff08;通常是透镜的几何中心&#xff09;到其焦点的距离。 焦点是光线的交点&#xff0c;它指的是透镜或镜头聚焦所有入射光线后汇聚的位置。焦点的位置与透镜的曲率和光线的入射角度相关。就是说所有光线经过…

Python粉色圣诞树

系列文章 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…

数据分析学习Day1-使用matplotlib生成2小时每分钟的气温可视化分析图

注意&#xff1a;需要提前下载matplotlib包 pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple import matplotlib.pyplot as plt import random from matplotlib import font_manager # 数据准备 x list(range(121)) # 使用 list() 转换为列表 y [rando…

uniapp uni-table最简单固定表头

需求&#xff1a;固定表头数据&#xff0c;在网上找了半天&#xff0c;啥都有&#xff0c;就是一直实现不了&#xff0c;最后更改代码实现 1.效果 2.主要代码讲解完整代码 表格的父级一定要设置高度&#xff0c;不然会错位&#xff0c;我看网上说设置position&#xff1a;fixed…

HTML、CSS表格的斜表头样式设置title 画对角线

我里面有用到layui框架的影响&#xff0c;实际根据你自己的框架来小调下就可以 效果如下 上代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…

【人工智能】OpenAI O1模型:超越GPT-4的长上下文RAG性能详解与优化指南

在人工智能&#xff08;AI&#xff09;领域&#xff0c;长上下文生成与检索&#xff08;RAG&#xff09; 已成为提升自然语言处理&#xff08;NLP&#xff09;模型性能的关键技术之一。随着数据规模与应用场景的不断扩展&#xff0c;如何高效地处理海量上下文信息&#xff0c;成…

学习笔记069——Java集合框架

文章目录 集合1、List 接口2、Set 接口3、Map3.1、Map 常用实现类 集合 需要创建多个对象&#xff0c;但是数量和类型不确定。 集合是 Java 提供的一种类型&#xff0c;功能和数组类似&#xff0c;但是长度和数据类型都是动态。 集合框架&#xff08;包括很多类和接口&#…