1.Flink CDC:基于 Apache Flink 的流式数据集成框架
2.开源项目轻量元数据管理解决方案——Marquez
3.实现淘宝母婴订单实时查询和可视化|Flink-Learning实战营
4.Flink CDC在阿里云DataWorks数据集成应用实践
5.Hudi 基础入门篇
6.2020å¹´åçµåè¡ä¸åå±10大è¶å¿
Flink CDC:基于 Apache Flink 的流式数据集成框架
摘要:本文整理自阿里云 Flink SQL 团队研发工程师于喜千(yux)在 SECon 全球软件工程技术大会中数据集成专场沙龙的分享。内容主要为以下四部分: 1. Flink CDC 开源社区介绍; 2. Flink CDC 的演进历史; 3. Flink CDC 3.x 核心特性解读; 4. 基于Flink CDC 的实时数据集成实践。
1. **Flink CDC 开源社区介绍
**- **1.1 Flink CDC 的演进历史
**- Flink CDC 从 GitHub 开源社区开始,于 年 7 月在 Ververica 公司的 GitHub 仓库下以 Apache 2.0 协议开放源代码。初期主要支持从 MySQL 和 PG SQL 数据库捕获变化数据。2.0 版本增强了运行效率、repo 下载4.0源码稳定性和故障恢复机制,并扩展了源数据库支持范围至 Oracle、MongoDB 实时数据抽取。
- 年 月发布的 CDC 3.0 版本引入了 YAML pipeline 作业,使其成为独立的端到端数据集成框架,通过简化语法提供更便捷的数据集成作业描述。
- **1.2 Flink CDC 社区现状
**- CDC 作为 Flink 的一个子项目,于 年初正式加入 Apache 软件基金会,遵循 ASF 标准进行迭代开发。截至最新版本 3.1.1,累计超过 名贡献者提交了 余次代码提交,GitHub 收获超过 颗 star。
- 社区生态多元,GitHub Top 代码贡献者来自 家公司,覆盖 MongoDB、Oracle、Db2、OceanBase 等连接器及 Pipeline Transform 等核心功能。社区通过多种渠道保持与用户沟通,如钉钉群、邮件列表和 Slack 频道。
2. **Flink CDC 的演进历史
**- **2.1 CDC 技术简介
**- CDC 技术专注于实时监控数据变更,并将变化记录实时写入数据流,用于数据同步、分发和加载到数据仓库或数据湖。技术包括 Query-based CDC 和 Log-based CDC,后者通过监听数据库日志来实现低延迟变化捕获,思拓合众源码减轻数据库压力,确保数据处理一致性。
- **2.2 早期 CDC 技术局限
**- 早期实现存在实用性问题,如依赖数据库查询、并发处理和状态管理的复杂性,以及对数据库性能的高要求。
- **2.3 Flink CDC 接入增量快照框架
**- Flink CDC 2.0 引入增量快照算法,支持任意多并发快照读取,无需数据库加锁,实现故障恢复。通过 Netflix DBlog 论文中的无锁快照算法,实现了高效并发处理。
- **2.4 Flink CDC 增强
**- 引入 SplitEnumerator 和 Reader 架构,实现数据源的逻辑划分和并发读取,增强了处理效率和吞吐量。支持 Schema Evolution,允许在不重启作业的情况下处理表结构变更,提高了作业的稳定性和维护性。
3. **Flink CDC 3.0 核心特性解读
**- **3.1 Flink CDC 2.x 版本回顾
**- CDC 2.x 版本提供 SQL 和 Java API,但缺乏直观的 YAML API 和高级进阶能力支持。
- **3.2 Flink CDC 3.0 设计目标
**- 3.0 版本引入 YAML API,提供端到端数据集成流程描述。支持 Schema Evolution、Transform 和路由功能,增强数据处理灵活性。
- **3.3 Flink CDC 3.0 核心架构
**- 采用无状态设计,简化部署和运维。分离连接层,保留对 Flink 生态系统的兼容性,支持多样化的部署架构和集群环境。
- **3.4 Flink CDC 3.0 API 设计
**- YAML API 提供直观的数据集成任务配置,支持转换、非绿直播源码过滤、路由等高级功能,简化了开发和配置流程。
- **3.5 Flink CDC 3.0 Schema Evolution 功能
**- 提供了在不重启作业的情况下处理表结构变更的机制,确保数据处理的一致性和稳定性。
4. **基于 Flink CDC 的实时数据集成实践
**- **4.1 实例:MySQL 到 Kafka 实时传输
**- Flink CDC 3.0 内建 Kafka 输出连接器,简化了 MySQL 数据至 Kafka 的实时传输过程,无需额外基础设施配置。
- **4.2 实时数据集成实践
**- Flink CDC 3.0 支持模式进化、列操作和丰富的内置函数,提供了高度可定制的预处理能力,提升数据处理的灵活性与效率。
总结:Flink CDC 是一个高效、易用的实时数据集成框架,通过不断演进优化,满足了数据同步、分发和加载到数据仓库或数据湖的需求。社区活跃,支持多渠道沟通,鼓励代码贡献和用户参与,是实时数据处理领域的有力工具。
开源项目轻量元数据管理解决方案——Marquez
轻量级元数据管理解决方案——Marquez
Marquez,由WeWork开源的元数据管理工具,专为简化数据生态系统元数据的收集、聚合和可视化而设计。它提供了一个轻量级的元数据服务,帮助用户全面掌握数据集的产生和消费情况,以及数据处理过程的可视化,并集中管理数据集的生命周期。
Marquez在持续发展中,当前标星数为1.5K,最新版本发布于三周前的源码有符号位0..1,主要使用Java和TS语言开发。部署方式与Java项目类似,只需启动对应Web端服务和API服务。Marquez的血缘API简洁高效,便于建立数据血缘依赖关系,确保数据分析质量。如需获取安装包、源代码及学习资料,可访问官网或使用大数据流动后台回复“Marquez”。
Marquez的安装流程简洁,通过命令行即可快速完成。启动命令如下:$ git clone github.com/MarquezProject/marquez && cd marquez$ ./docker/up.sh --seed,之后通过访问/OpenLineage/...", "schemaURL": "openlineage.io/spec/1-0..." }' 完成任务后,使用类似代码进行:$ curl -X POST /OpenLineage/...", "_schemaURL": "github.com/OpenLineage/...", "fields": [ { "name": "a", "type": "VARCHAR"}, { "name": "b", "type": "VARCHAR"} ] } } }], "producer": "github.com/OpenLineage/...", "schemaURL": "openlineage.io/spec/1-0..." }' 正常运行应接收到 CREATED的响应,并在页面上找到血缘展示。
Marquez不仅简化了元数据管理,还提供了标准的元数据采集方案,目前支持Spark、Airflow的表级别和列级别数据血缘收集,而Flink仅支持表级别的血缘收集。Marquez未来有望支持更多数据源,共同期待其发展。
实现淘宝母婴订单实时查询和可视化|Flink-Learning实战营
随着“全面二孩”政策的实施和居民可支配收入的稳步增长,中国的母婴消费市场持续扩大。同时,随着后宝爸、宝妈数量的激增,母婴消费群体的需求和消费观念发生了巨大变化。据罗兰贝格最新报告,到年,母婴行业整体规模将达到3.6万亿元,复合年增长率高达%,微家政网站源码市场前景一片光明。 在这样的背景下,本场景将展示如何使用Apache Flink进行淘宝母婴订单的实时查询和可视化。具体来说,订单和婴儿信息存储于MySQL数据库中。为了便于分析,我们将订单表关联婴儿信息,形成宽表,并实时写入到Elasticsearch中。同时,对数据进行分组聚合,计算订单数量与婴儿出生的关系,实时更新Elasticsearch并在Kibana大屏展示。 本次场景实验将利用阿里云实时计算Flink版、检索分析服务Elasticsearch版和阿里云数据库RDS。实验步骤包括资源创建、数据库表构建、配置Elasticsearch自动索引、创建实时查询SQL作业以及创建实时大屏SQL作业等。 实验流程分为五个步骤: 创建资源:确保RDS、Elasticsearch、Flink实例在同一VPC网络下,完成RDS和Elasticsearch白名单配置。 创建数据库表:创建三张数据表,用于导入数据和作为源表。 配置Elasticsearch自动创建索引:在Elasticsearch实例中启用自动索引功能。 创建实时查询SQL作业:使用Flink SQL捕获数据变化,并实时写入Elasticsearch。 创建实时大屏SQL作业:统计指标不同,创建索引并生成可视化图表。 通过以上步骤,您将掌握Flink与MySQL、Elasticsearch的连接,数据实时捕获与写入,以及使用Flink进行实时数据处理和可视化的基本技能。点击下方链接入营,了解更多实验信息,立即体验实时计算Flink版的0元试用活动:[活动链接]。Flink CDC在阿里云DataWorks数据集成应用实践
阿里云 DataWorks数据集成的发展历史超过年,从年内部平台起步,年正式对外提供云服务,年完成商业化并发布资源组功能,年发布实时同步功能后,在年初基于Flink CDC重构了新版引擎。此引擎具备流批一体、弹性扩缩容特性,已应用于离线和实时数据同步,支持数十种异构数据源组合与复杂网络联通。
架构上,新版引擎分为接入层、管控层、引擎层和资源层。接入层面向用户,接入层与管控层主要负责任务管理,引擎层包含Catalog Server与流批一体同步引擎,资源层则支持任务资源调度与部署。此架构具备流批一体、全事件流同步和良好的性能成本特性。
功能扩展包括基于Flink CDC的全量数据初始化、增量数据同步、全增量自动切换、数据结构映射以及支持并发写多表、schema evolution等特性。为提升任务可观测性,引入了大量监控指标,通过告警系统实时监控异常情况,提供自动告警通知和Logview异常诊断工具。
实战案例包括将海外MySQL实例全增量实时同步到阿里云Hologres,并为出海企业提供资源成本优化,成本下降近%。未来DataWorks与Flink CDC将深入合作,探索任务智能弹性扩容与基于AI的异常诊断,以及数据离线实时质量校验功能。
Hudi 基础入门篇
探索Hudi:Apache大数据湖的革新之作 Hudi,由Uber技术先驱者打造并在年开源,自那时起,它凭借其强大的数据处理能力与卓越的可扩展性,一路晋升为Apache顶级项目,如今最新版本已是0.9.0。Hudi的诞生标志着对实时数据湖处理的革新,它最初支持Spark的数据摄入,而后在0.7.0版本中与Flink无缝融合,提供了Flink SQL CDC功能,满足了日益增长的实时数据处理需求。 从年O'reilly文章中提出的增量处理核心思想,Hudi迅速成长,于年由Uber创建并扩展至所有关键业务场景。年开源后,它开始承载Uber庞大的PB数据湖,同年吸引了大量用户,随着云计算的普及,Hudi的影响力与日俱增。年,Hudi进入Apache孵化器,随后的年,社区发展与采用率暴增,标志着Hudi在大数据领域的显著突破。 进入年,Hudi的版图进一步扩大,支持PB数据湖的处理,不仅提供了SQL DML操作,还强化了与Flink的集成,实现了分钟级的实时性,满足了业务对准实时数仓的严苛要求。Hudi的湖仓一体架构让实时处理与批处理无缝对接,数据一致性、计算引擎和存储统一,为数据处理带来了前所未有的效率和灵活性。 快速入门Hudi 要体验Hudi的魅力,首先确保大数据环境的准备。从Maven的安装开始,下载0.9.0源码包,然后添加Maven镜像以优化依赖下载。将Hudi源码解压并编译,最后通过Hudi CLI进行验证,确保一切顺利。 Hudi的平台架构是基于HDFS存储和Spark操作的,所以安装HDFS是必不可少的。这包括解压软件、配置环境变量、设置Hadoop和HDFS相关配置,以及格式化和启动集群。完成后,可以通过HDFS Web UI来监控和管理数据。 在国内众多企业中,Hudi已成为构建数据湖和大数据仓库的核心组件,助力企业实现数据湖与仓库的高效整合,打造湖仓一体化的现代化数据处理平台。 深入学习资源 想深入了解Hudi?可以参考黑马程序员的大数据数据湖架构Hudi视频教程,从基础概念到实战项目,涵盖HDFS、Spark、Flink、Hive等关键技术,让你从零开始,逐步领略Hudi的强大功能。å¹´åçµåè¡ä¸åå±å¤§è¶å¿
ä¸ãç´æ¥éå®åèªæåçéå®çå éå¢é¿
ããå¨å¹´å°æ.1%çé¶å®éå®éè¿çº¿ä¸å®æãç产ååä¼ ç»åçè¶æ¥è¶å¤å°ç»è¿é¶å®åä½ä¼ä¼´å»ç´æ¥å°ååå®åç»æ¶è´¹è ï¼ä¹å°±æ¯DTCãå®é ä¸ï¼æ£æ¯çµåçåå±å¸®å©ä¼ ç»å¶é å弥补äºçº¿ä¸ååºéå®å¢é¿çåæ»ã
ããDTC主è¦æä¸ä¸ªå¥½å¤ï¼
ããï¼ä¸ï¼æ¥æé¡¾å®¢å ³ç³»
ããå½åçæ¥æäºä¸é¡¾å®¢çç´æ¥å ³ç³»ï¼é£å°±ä¸åéè¦ä¾èµé¶å®åä½ä¼ä¼´æ¥ä¿æ¤å¹¶æ¨å¹¿åçãä¸ç»ç«¯å®¢æ·å»ºç«èµ·ç´æ¥å ³ç³»ä¹è®©ä½ è½å¨å®å继ç»ä¸ºæ¶è´¹è æä¾æå¡ã
ããï¼äºï¼æ¶é并使ç¨æ¶è´¹è çééç§æ°æ®
ããéè¿ç´æ¥åæ¶è´¹è åºå®ï¼ä½ è½æ¶éå°å¯ä»¥ç¨æ¥ä¸ªæ§åå®å¶å®¢æ·ä½éªç第ä¸æ¹æ°æ®ï¼å¹¶ä¸æç»éè¿è¿ç§å ³ç³»è·å©ã
ããï¼ä¸ï¼æä¾ä¸ªæ§å产å
ããéè¿åç¡® å° å®ä½ï¼DTCå¯ä»¥æä¾ä¼ ç»é¶å®ååºæ æ³æä¾çä½éªãDTC åçå 许è´ç©è èªä¸»è®¾è®¡ååå è£ ãæ··å并å¹é å®å¶çåç±»ã
ããäºãè¥é人åçåæ°æ¸ éå设å¤
ããèç½çµè§ï¼ä¹ç§°ä¸ºæºè½çµè§ï¼åé³é¢å°æ为广ååç两个æ°éµå°ã尽管许å¤åçä¾ç¶ä¾é Facebook å Instagram çåï¼ä½æ¯é¢è®¡é£äºè½å¤ä¸ºæ¶è´¹è æä¾ä¼è´¨å 容çé³è§é¢æµåªä½æå¡åï¼å°å¨æªæ¥è¿æ¥å¹¿åæ¶å ¥çå¤§å¹ å¢é¿ã
ããé对é£äºæ£å¨ææ¾èªå·±åç±çæµåªä½çµè§æé³ä¹æå¡çæ¶è´¹è ç广åæ¶å ¥å°å¤§å¹ å¢é¿ã
ããThe Trade Desk æ¯ä¸ä¸ªç¨åºåç广åå¹³å°ï¼å®å±ç°äºæ°è®¾å¤åæ¸ éå¨å¹´çå¿å¤´ãå¹´é»è²ææäºï¼è¯¥å ¬å¸è¡¨ç¤ºï¼èç½çµè§å·²æ为è¥é人åé常éè§çä¸ä¸ªæ°ååªä½è®¾å¤ï¼é³é¢ç´§éå ¶åã
ããï¼ä¸ï¼æ°æ®é©±å¨çç®æ å®ä½ï¼ä½¿ç¨ç¬¬ä¸æ¹å第ä¸æ¹æ°æ®å¨æ¯ä¸ªå±å¹ä¸å¸å¼ææä»·å¼çåä¼
ããï¼äºï¼æ´å¥½çè¡¡éæ åï¼ä½¿ç¨æ°ååä¼ ç»ææ ï¼å æ¬è§é¢å®æçåæ»è¯åç¹ï¼è·è¸ª CTV 广åæ´»å¨çå½±å
ããï¼ä¸ï¼æ´æºè½çéå®ä½ï¼éè¿çµèãå¹³æ¿çµèå移å¨è®¾å¤çæµåªä½è®¾å¤ï¼éæ°å¸å¼å®¶åºè§ä¼ï¼ä»èæä¾æ´å ¨é¢ç客æ·ç»å
ããï¼åï¼ä¼è´¨å¹¿åèµæºï¼å¨æå ¥å ¨é¨æ³¨æåçè§ä¼é¢åå°å¹¿åä¸çé¨çµè§èç®åçµå½±ä¸èµ·ææ¾
ããé¢è®¡åçå°å¨ å¹´å以åéç¨å®åçå ¨æ¹ä½å ¨æ¸ éæ¹æ³æ¥ç«æ é«è´¨éæµåªä½å¹¿åèµæºãèèå°è®¸å¤æ°å å ¥çæµåªä½ä»¥åäºèçµè§è´ä¹°éçé¢æå¢é¿ï¼è¿ä¸è¶å¿çè³å¯è½å»¶ç»å°æ¬ä¸çºªä¸æã
ããä¸ãPWA å AMP æ¨å¨ç§»å¨çµååå±
ããåæå¸é¢ä¼°å°äºå¹´ï¼.9%ççµåéå®å°éè¿ç§»å¨è®¾å¤å®æãå¨å ¨çèå´å ï¼ç§»å¨çµåå°ä¼åå¾æ´å æµè¡ã
ããä½æ¯ï¼å¦æä¸ä¸ªçµåå¹³å°ä» ä» æä¾äºä¸ä¸ªååºå¼ç½ç«ï¼å¹¶ä¸æå³çè½å¤æä¾åºè²ç移å¨ä½éªã移å¨ç«¯ç转åçè¿ä¸å°çµè端çä¸åãæ®ç 究è¯æï¼%çç¨æ·ä¼å 为ä¸ä¸ªç½ç«è¦è±3ç§ä»¥ä¸çå è½½æ¶é´èæ¾å¼æå¼è¿ä¸ªç½ç«ãç 究è¿è¡¨æï¼ç§»å¨ç«¯çè·³åºçè¦æ¯çµè端é«åº% %ã
ãã为äºæä¾æä½³ç移å¨ä½éªï¼ä¸äºåçæ¿æéç¨æ¸è¿å¼ç½ç»åºç¨ç¨åºï¼PWAï¼ï¼å®å¯ä»¥ä¸ç´åçå¨ç¨æ·ç主页ä¸ï¼å¹¶ä¸ä¸ç®¡ç¨æ·æ¯å¦å¨çº¿é½è½ç«å»å è½½ãæ¸è¿å¼ç½ç»åºç¨ç¨åºå¯ä»¥ä½¿å¢éåæ¶å¨å端åå端系ç»ä¸å·¥ä½ï¼ä»¥è¿ä¸æ¥æé«ç§»å¨æ§è½ã
ããå ¶ä¸ä¸æ¥æ¯å°æ¸è¿å¼ç½ç»åºç¨ç¨åºåå é移å¨é¡µé¢ï¼AMPï¼è¿ä¸æ¥ç»åãAMP æ¯è°·æ移å¨ä¼å ææ°çåºç¡ï¼å®è½å¤ä¼å ä¼å移å¨ç«¯çæç´¢ç»æãPWA å AMP 两è ç¸ç»åå¯ä»¥äº§çæ´å¥½çæç´¢ç»æï¼æ´é«çæ¸ éæµéï¼ä¹æé«äºç½ç«ç转åçã
ããåãæ°ååçåçèµ°å线ä¸
ããç±äºæ¶è´¹è å¨çº¿ä¸çè´ç©ä½ä¼æå¤æå°å°ä¼åå°éå¶ï¼ é£è¡¥ é½ç¸å ³ä½éªä¼é©±å¨æ°ååçåçè¶æ¥è¶å¤å°å°è¯çº¿ä¸ä½éªãä¸é¢æ¯æè¿ç 3 个æ¡ä¾ï¼
ããï¼ä¸ï¼ç§»å¨é¶å®ä½éª
ããPura Vida æé¾æ¯ä¸å®¶å¿«éåå±çæé¾åé 件å¶é åï¼å ¨æ¹ä½å°èåäºæ°åä¸çåç©çä¸çãè¿ä¸ªåçè¯çäºçº¿ä¸ï¼ä»ç¤¾äº¤åªä½å¹³å°åå±å£®å¤§ï¼æ¥æä¸å¤ç²ä¸ãç¶èï¼ Pura Vida æè¿éè¿ç¤¾äº¤åªä½æ¨åºäºé¶å®ä½éªï¼ä½¿æ¶è´¹è å¯ä»¥å¨ç°å®ä¸çä¸ä¸åçäºå¨ã
ããï¼äºï¼å¿«éªåº
ããThe Emazing Group ä¸ææ¯ç»´å æ¯ç Luxor é åºåèµåºåä½ï¼å¨å¹´ææ¯ç»´å æ¯ EDC å¨æé´ï¼å»ºé äºä¸ä¸ªå å°æ°ä¸å¹³æ¹è±å°ºç LUX Rave å¿«éªåºã
ãã为äºæ¨å¹¿è¿æ¬¡å¿«éªæ´»å¨ï¼The Emazing Group æåå¨ç¤¾äº¤åªä½ä¸åäºå¹¿åãè¿å广åæ¯å¯¹è¿æ¬¡å¿«éªåºæ´»å¨çä¸æ¬¡é¢è§ï¼å¨ååºå¼å¼ åå°±ææäºè¿æ¯è§é¢ãè¿æ¯ The Emazing Group ç¨æ¥å®æ¶å®ä½ææ¯ç»´å æ¯äººç¾¤çä¸ä¸ªçç¥ã该广åå¸å¼äºææ¯ç»´å æ¯å°åºä¸å EDC å EDM ç±å¥½è ï¼å¹¶è·å¾äº å¤ä¸æ¬¡è§çã
ããåæ¶å¨è¿æ¯å¹¿åä¸æ¯æå ¥1ç¾å çè´¹ç¨å°±è½è·å¾ç¾å ç订åã
ããï¼ä¸ï¼ä»¥åä¸æ¢ç»éª
ããè¿å¨éåç Allbirds 没æå¨å¹´é»è²ææäºå¤§èµä¸ç¬ï¼èæ¯å ³éäºå ¶å¨è±å½ä¼¦æ¦çèæç¹è±åå®ä½åºï¼ä»¥è¡¨æå ¶å¯¹çæ§æ¶è´¹çæ¿è¯ºã
ããæ¬çâé»è²ææäºï¼æ们ä¸ä¹°å®âç线ä¸ä½éªç念ï¼Allbirds å ³éäºé¶å®åºï¼ä½å®å´ä¸ºéåä¸ä½éªèå¼æ¾ï¼é¼å±æ¶è´¹è åä¸æ¥æ¬£èµç°åºé³ä¹ï¼æåå å 费工ä½åï¼ä¾å¦å¶ä½ç»çãå¶ä½è±ç¯ã
ãã产çè¿ä¸æ³æ³æ¯å 为åçå¸æè½è®©æ¶è´¹è 对è¿å¨éçå¶ä½è¿ç¨äº§ç好å¥ï¼å¹¶ä¸å°ç¸å ³ç¥è¯ä¼ æç»ä»ä»¬ã对äºä¸ä¸ªä½¿ç¨æ¡æ ååçç¾æ¯å¶é 产åçåçæ¥è¯´ï¼å°éç¹ä»ææ£è½¬ç§»å°å¯æç»åå±æ¯å ¨å¹´ä¼å èèçäºæ ã
ããç¶èï¼Allbirds 并没æ让æ³è¦è´ä¹°æ°äº§åçæ¶è´¹è 失æãAllbirds è½ç¶æ¾å¼äºä¸æ¬¾é»è²ææäºå¤§ä¿ç¬å®¶è¿å¨éï¼ä½éè¿æä¾åºå æå·¥å¶ä½çä½éªåééæ°äº§åï¼Allbirds åé äºä¸ç§èº«ä¸´å ¶å¢çåæ¥ä½éªã
ããäºãèªå¨åæ¨å¨ç产å
ããæ¥ä¸æ¥çä¸å¹´ä¸ï¼ä¼ä¸ä¼è¶æ¥è¶å¤çåå©èªå¨åãèªå¨åå°ä¼å¯¹åççå ¨çæ©å¼ èµ·å°é常éè¦çä½ç¨ï¼å 为å¨å ¨çæ©å¼ ä¸ä¼ä¸éè¦åæ¶è¿è¥å¤ä¸ªååºãæ´å¤§çåºååç©æµç½ç»ãå¹³åæ¥çï¼å½é ä¸å¡è½å¤è·¨å¢å°ä¸ªå½å®¶ï¼èåçä¹è¶æ¥è¶å¤å°ä½¿ç¨çµåèªå¨åæ¥æ´å¿«æ´é«æå°æ©å¤§è§æ¨¡ã
ããï¼ä¸ï¼çµåèªå¨å
ããçµåèªå¨åæ¶é¤äºè®¸å¤æå¨çãéå¤çã浪费æ¶é´çä»»å¡ï¼èè¿äºä»»å¡å¾å¾ä¼éä½ç产åã
ããç®åè·¨å¢è´¸æãéä½å¨ç»è¥å¤å®¶ååºæ¶ç人为é误ï¼ä»¥åæä¾ä¸æµçè´ç©ä½éªæ¯çµåèªå¨åæåç产åçä¸ä¸ªä¸»è¦æ¹å¼ï¼
ããéè¦çæ¯ï¼çµåèªå¨åä¹è½å¤ä¿æ¤åçå åæ¥ç严éçå¨èââæ²è¯ãæäºçµåèªå¨åï¼å°±æ é对è´ä¹°è è´ä¹° åå² è®¢åè¿è¡æå¨äº¤åæ£æ¥æ¥ç¡®å®æ个订åæ¯å¦å ·æ欺è¯æ§ï¼åçä¼ä¾èµäºåµå ¥å¨çµåå¹³å°æ¬å°çèªå¨æ¬ºè¯ä¿æ¤æºå¶ãèªå¨åå¯ä»¥é¿å é«é£é©è®¢åï¼å¹¶é²æ¢æä»æ åµçåçã
ããæ¤å¤ï¼èªå¨åè¿ä¼åç¨ä»¥ä¸ææ¯ã
ããï¼äºï¼ä»åºæºå¨äºº
ããåçè¶æ¥è¶å¤çèè使ç¨æºå¨äººææ¯æ¥ç®¡çä»ä»¬èªå·±çä»åºï¼ä»¥æ¤æ¥ç¼©åææ¬ãæé«æçãå ¨çèå´å ï¼æè¶ è¿ ä¸ªæºå¨äººå¯å¨ä¸å¿ã
ãã å¹´ä¹åï¼å ¨ä¸çå¨æºå¨äººç¨åºèªå¨åï¼RPAï¼ä¸çæå ¥å°ä¼çªç ´ 亿ç¾å ãç¶èææ¬ä¾ç¶æ¯å®æ½ RPA çæ大éç¢ï¼ä½¿ç¨èªå¨åçæ°ææ¯çä¼ä¸ä¸ï¼æ % 该ææ¯çææ¬è½å¤éè¿åå°åå·¥æ°éè·å¾ä¸å®çè¡¥å¿ã
ããï¼ä¸ï¼äººå·¥æºè½
ããæ°æ®è¡¨æï¼ä¼ä¸å¸æå¨äººå·¥æºè½èªå¨åä¸æå ¥æ´å¤èµéãå° å¹´å ¨ä¸çèå´å ç人工æºè½åæµç¨èªå¨åçå¼æ¯å°ä¼è¶ è¿ äº¿ç¾å ã
ããå ãç¾å½ä»¥å¤çå ¨ççµåç¹è£åå±
ããå ¨ççµåéå®é¢å°å¨å¹´çªç ´4.2ä¸äº¿ç¾å ï¼å¹¶ä¼å¨å¹´è¾¾å°6.5ä¸äº¿ç¾å 以ä¸ãå°å¹´å ¨çä¼æè¶ è¿äº¿è´ç©è å¨çº¿è´ç©å¹¶äº«åæå¡ãç¾å½å°åºä»¥å¤çå¨çº¿è´ç©è å°ä¼è¶æ¥è¶å¤ã
ããä½æ¯å¢é¿çåªè½è¯´æä¸é¨åæ åµââçæ£çå ¨ççµåä¹çæ¯ä¸å½ãå¨å¹´ä¸å½ççµåéå®é¢é¢è®¡è¾¾å°1.9ä¸äº¿ï¼å¨çº¿éå®é¢è¾¾å°äºç¾å½çä¸åãå®é ä¸ï¼ä¸å½å æ®å ¨ççµåå¸åºç.7%ï¼è¿å ä¹æ¯æå¨ä¸å½åé¢ç5个å½å®¶çéå®é¢æ»åç两åã
ããä¸ãå¯æç»çµåæ为主æµ
ããæ¶è´¹è è¶æ¥è¶å¸æåçè½å¼é¢ä»·å¼ãåçéè¦èè ç¤¾ä¼ è´£ä»»ï¼ä»è°ç æ°æ®æ¥çï¼æ¶è´¹è è¶æ¥è¶å¸æä¼ä¸è½å¤éæ©ç»¿è²ç¯ä¿çä¾åºé¾ãå è£ ä¸ä¹å°½éé¿å 对èµæºç浪费ã
ããä¼ä¸æ£å¯»æ±å è¿çææ¯å æ æ¥åå°èµæºæµªè´¹å¹¶æé«æçãæºè½è®¢åè·¯ç±ä¸å¤ç«ç¹åºåç¸ç»åï¼åºäºè§åçèªå¨è®¢åè·¯ç±å¯ä»¥å°è®¢åä¸è·ç¦»æ¶è´¹è æè¿çåºåç¸å¹é ãè¿æ ·æ¹å¼ä¸çèªå¨è·¯ç±è®¢åå¯ä»¥èçæ¶é´ï¼å å¿«æ§è¡é度ï¼å¹¶ä¸éä½è¿è¾ææ¬ã
ããè¿ä¸è¶å¿å¨å½å è¿ä¸ææ¾ï¼ä½å¨å½å¤ï¼ä¸äºå¤§åçé¶å®åä¼è¦æ±åçåå¶å®è®¡å并衡éæ¯å¹´å ¬å¸å¨éä½æ¸©å®¤æ°ä½ææ¾æ¹é¢åå¾çè¿å±ã为äºè·è¸ªè¿ä¸é®é¢ï¼æ²å°ç为å®çä¾åºåå建äºå¯æç»æ§ææ°ãè¯ä¼°æ£æ¥ä¾åºåçå项æ¿è¯ºï¼1ï¼é¶æµªè´¹2ï¼ä½¿ç¨ % çå¯åçè½æº3ï¼åºå®å¯æç»äº§å
ããè½ç¶ï¼å¨ç¯ä¿ä¸çæå ¥å¬èµ·æ¥ææ¬å¾é«ï¼ä½å®é ä¸ä¸äºè°ç æ°æ®è¯æéåè¿æ ·ç举æªè½å¤è·å©ãç 究è¯æï¼æ¶è´¹è æ¿æ为è¿æ ·åçååæ¯ä»æº¢ä»·ã
ããå «ãéè´§é度æ´å¿«ãç©æµææ¬çå¢
ããæ¶è´¹è 对è¿è¾é度åææ¬ææå¼å¨éæ¸æé«ï¼è¿ä¹å¨æ¹åé¶å®ä¸ãè¿å ¥å¹´ï¼åæ人士估计 ï¼ çé¶å®åå°æä¾å½æ¥éè´§æå¡ï¼è¿å·²æ为ä¸ç§å¸¸æãä¸åä¹äºçæ¶è´¹è 表示ï¼è¿è¾ææ¬é«å延æ¶æ¯æ¾å¼ç½ç»è´ç©ç主è¦åå ã
ãã为äºæ»¡è¶³æ¶è´¹è çææï¼ååçæ£å¨è®¾ç½®å è¿è´¹é¨æ§ï¼æ¥é¼å±æ¶è´¹è å¤å¤è´ç©ï¼ä»èå¢å å¹³å订åä»·å¼ï¼AOVï¼ãåçä¹è¶æ¥è¶ä¾èµåºå管çç³»ç»ï¼IMSï¼æ¥é¿å ä¼å»¶è¿éè´§æè 缺货çæ åµã
ãã设ç«å¤ä¸ªåºåç¹å¯ä»¥è®©ååæ´é è¿æ¶è´¹è ï¼ä»èåå°äºè¿è¾æ¶é´åææ¬ãåç为è´ç©è æä¾äºæ´å¤çè¿è¾éæ©æ¥è¿åé£äºä¸éè¦ç«å³å¾å°äº§åçæ¶è´¹è ãå®ä»¬è¿æ¾ç¤ºäºæªæ¢æ¶é´ï¼å¯ä»¥æ¸ æ¥å°è¯´æä¸åè¿è¾æå¡çææéè¾¾æ¶é´ãAfflink è°æ¥çæ¶è´¹è ä¸æ % ç人å¸æè½å¨ 3 å°æ¶å æ¶å°è´§ã
ããä¹ãè¯é³è¯å«æ¹åè´ä¹°éå¾
ããæ®ä¼°è®¡ï¼å ¨ç¾ ï¼ ç家åºé å¤äºè³å°ä¸ä¸ªæºè½é³ç®± ï¼è®¸å¤æ¶è´¹è çè³æ¥æä¸æ¢ä¸ä¸ªãå æ¤ï¼å¹´æ.1ï¼ çæ¶è´¹è è´ä¹°äºæºè½é³ç®±çæ°æ®ä¹å°±ä¸è¶³ä¸ºå¥äºã
ããæ3.9ï¼ çæ¶è´¹è 表示ä»ä»¬æ¯å¤©éè¿æºè½é³ç®±è´ä¹°ååãå ¶ä¸è°·æçè¯é³åå¤åç¡®çä¼¼ä¹æé«ï¼å ¶æ¬¡æ¯ Apple å Amazonã
ããç¶èæ°æ®æ¾ç¤ºï¼æ¥å¸¸ç¨åæ¯éè¿è¯é³è´ä¹°çæ常è§äº§åï¼è´ä¹°è¡£æä¹åæ ·æ®éãè¿ä¸ä» 表ææºè½é³ç®±æ£å¨æ为è´ä¹°æ¸ éï¼èä¸è¿æ示äºå¨æªæ¥æ¶è´¹è å°å¾åäºéè¿è¯é³è´ä¹°æ´å¤ä»ä»¬éè¦çä¸è¥¿ã
ãã对æ¤ï¼åçæ£å¨ä¼åæç´¢ç»æçç段ï¼ç±äºç®åæï¼ çè¯é³ç»ææ¯ä»æç´¢å¼æç»æçç段ä¸æåçãè³å°å°ç°å¨ï¼å ·æç¹è²ç段æ¯èµ¢å¾è¯é³æç´¢æçä¸ç§æ¹å¼ã
ããåãçµåæ¸éçéå¹´å¢é¿ä½å¢éæ¾ç¼
ããè½ç¶å®ä½åä¸åæ°ååä¸ä¹é´çé模ç³ï¼ä½æ¯æ´ä½é¶å®ä¸åçµåä¹é´å¢é¿è½¨è¿¹çå·®å¼ä¾ç¶å¾ææ¾ã
ããæ»ä½æ¥çï¼é¢è®¡å ¨çé¶å®å¸åºçè§æ¨¡å¨å¹´å°ä¼è¶ è¿ä¸äº¿ç¾å ãç¶èï¼ä¸åäºå¹´ç¸æ¯å¢éå·²ç»æ大å°æ¾ç¼ï¼è¿äºä¸å¹´å¢éä¿æå¨4.5%å·¦å³ï¼èä¸å¨å¹´ä¹åé½ä¸ä¼å éå¢é¿ã
ããå¦ä¸æ¹é¢ï¼å ¨çèå´å çµåéå®é¢çªç ´äº3.5ä¸äº¿ç¾å ï¼è¿ä¸ªæ°åæ¯åä¸å¹´æé«äºå¤§çº¦%ãèå°å¹´ï¼çµåéå®é¢å°è¾¾å°6.5ä¸äº¿ç¾å ï¼å ä¹ç¿»åå¢é¿ã
*æ¤å ¬ä¼å·ä¸å ¨é¨å å®¹ä» ä¸ºä¸è¬æ§åèã读è ä¸åºå¨ç¼ºä¹å ·ä½çä¸ä¸å»ºè®®çæ åµä¸ï¼æ èªæ ¹æ®æç« å 容ä¸çä»»ä½ä¿¡æ¯éåè¡å¨ã
*æ¤å ¬ä¼å·è¿è¥æ¹å°ä¸å¯¹ä»»ä½å éç¨æç« å 容è导è´çæ失è´è´£ã
新一代实时数据集成框架 Flink CDC 3.0 —— 核心技术架构解析
Flink CDC 3.0 是一款由阿里云开源的大数据平台发布的实时数据集成框架,它基于数据库日志 CDC(Change Data Capture)技术,结合 Flink 的管道能力与丰富生态,实现高效海量数据实时集成。Flink CDC 从年7月的诞生到年月的3.0版本升级,经历了从1.0到2.0的演进,解决了数据一致性与水平扩展的问题,并在2.0版本中受到广泛好评。然而,随着广泛应用,用户发现通过SQL定义表结构方式的不便、整库同步占用连接多、计算资源消耗大等问题。为了解决这些痛点,Flink CDC 3.0在年月实现了功能落地,提供全增量同步、表结构变更自动同步、整库同步、分库分表同步等高级特性。
Flink CDC 3.0的核心架构分为四层,其整体架构自顶而下构建。在数据抽象层面,Event接口作为内部处理及传输的数据结构接口,包括ChangeEvent和FlushEvent两种类型。ChangeEvent用于表示表上发生的变更事件,包含变更前和变更后每条记录的字段值,而FlushEvent用于控制数据刷写逻辑。在算子编排方面,FlinkCDC根据数据集成场景定制了Flink DataStream的算子链路,包含Source、Transform、Schema、Route、Partition和Sink六个模块。其中,Source模块负责生产变更事件,而Sink模块则负责将数据写出到外部系统中,并将表结构变更应用到外部系统中。在数据同步场景中,数据生产和消费速率不匹配,因此Partition模块负责分发事件到不同的Sink中。在表结构变更事件处理方面,Schema模块负责阻塞上游数据发放,直到旧版本格式数据刷写完毕。Route模块提供表名映射能力,实现整库同步和分库分表同步功能。
为了提高数据处理的效率,Flink CDC 3.0对数据格式和算子编排进行了深度定制,实现了表结构变更同步和整库同步支持。未来规划包括在Transform模块中提供更多深度定制需求的满足,支持表结构动态调整和数据过滤能力,以及接入更多主流数据源和先进湖仓存储系统,拓宽上下游数据集成范围,推动与上下游组件的深度融合。