Flink CDC 在阿里云 DataWorks 数据集成入湖场景的应用实践

简介: Flink CDC 在阿里云 DataWorks 数据集成入湖场景的应用实践

摘要:本文整理中阿里云 DataWorks 数据集成团队陈吉通老师在 Flink Forward Asia 2024 生产实践(二)专场中的分享。内容分为以下四个部分:

1.阿里云 DataWorks 数据集成介绍

2.DataWorks 数据集成入湖解决方案的架构和原理

3.DataWorks 数据集成入湖场景的产品化案例分享

4.未来规划

01 阿里云 DataWorks 数据集成介绍

1.1 DataWorks 数据集成在阿里云具有悠久的历史

2011 年,阿里云数据平台事业部宣告成立,同年 DataX 1.0 与 2.0 版本相继发布;2014 年,阿里云 DataWorks 数据集成正式对外提供服务,同年 DataX 3.0 版本发布;2019 年, DataWorks 数据集成在公有云上实现了商业化,推出了独享资源组服务,并提供了按量付费和包年包月两种灵活的计费方式;2020 年, DataWorks 数据集成正式推出了实时同步服务,其中包括了全方位、一体化的数据集成解决方案,以及资源组网络连通性诊断工具;2023 年, DataWorks 数据集成基于 Flink CDC 与 DataX 进行了新版引擎的升级,正式拥抱 Flink 体系;2024 年,DataWorks 数据集成提供了数据入湖、弹性扩缩容以及 Serverless 同步服务。

1.2 数据集成的定位

数据集成的定位是数据上云的核心枢纽,致力于打造一个可靠、安全、低成本且可弹性伸缩的异构数据源之间的数据同步平台。

image.png

数据集成目前已实现实时与离线同步能力的全覆盖,支持超过五十种离线数据源之间的互导,以及十多种数据源之间的实时互导;数据集成还支持复杂网络环境的打通,无论用户的数据源位于公网 IDC 、 VPC 还是其他网络环境中,数据集成都提供了成熟的解决方案,能够确保用户数据源与数据集成系统之间的网络可达性;数据集成还为用户提供了一站式同步解决方案,涵盖了迁移批量上云、增量同步以及分库分表一键实时同步等功能;同时数据集成借助 DataWorks 在生产环境与开发环境之间的隔离优势,能够确保安全控制的有效实施;此外数据集成还为用户提供了流量控制、脏数据控制、资源组指标监控等服务;支持用户设置任务级别的告警通知,通知方式涵盖电话、短信、钉钉、邮件等多种渠道。

1.3 DataWorks 数据集成的业务规模 image.svg

image.png

DataWorks 数据集成服务业务规模日同步数据量约为 10 PB ,数据条数则达到了约 10 万亿。同时 DataWorks 数据集成服务于阿里集团130多个 相关BU ,覆盖 21 个公有云区域,以及 180 多个专有云客户,其中包括国家电网、城市大脑等。


02 DataWorks 数据集成入湖解决方案的架构和原理


2.1 数据集成平台的架构

数据集成平台的架构主要可分为四个部分,包含接入层、管控层、引擎层、资源层。

image.png

1. 在接入层,用户可以通过 Open API 、 Web UI 以及 JSON Spec 来进行任务的配置,这包括创建数据同步任务、启停数据同步任务以及数据源的创建。

2. 在管控层,数据集成平台会对用户创建的任务进行对应的作业检查、作业配置以及任务的启停和渲染。此外还提供了一些运维态的指标告警监控,以及 Metric 查询展示功能。

3. 在引擎层,包含两个服务,一个是 Catalog Server 数据源服务,主要是与用户配置的数据源打交道,可以提供批量建表和获取表Meta 信息等服务。另外一个是真正执行数据同步的引擎,该引擎是基于 Flink CDC 框架 + DataX 重构后的新版流批一体同步引擎。

4. 资源层为 Alibaba Serverless Infrastructure。

2.2 数据集成入湖解决方案的架构特点

image.png

1. 从功能特性方面来看数据集成提供了一站式的结构迁移和全增量同步的解决方案。支持源头数据库 DML 和 DDL 事件的全事件流解析,确保数据的完整性和一致性。同时还为用户提供了丰富的T节点能力,以满足多样化的数据处理需求。

2. 在性能与成本方面支持 Sink 实时写多表,以提高数据同步的效率。在数据分发过程中采用 PK shuffle(主键分发)来避免数据热点问题,确保数据分布的均衡性。此外还支持弹性扩缩容能力,能够根据业务高峰期和低峰期的需求,灵活调整资源分配,以优化性能和降低成本。

2.3 基于 Flink CDC 的数据集成入湖解决方案的引擎架构原理

image.png

  1. 源头支持多种数据源,包括关系数据库,如 MySQL 、 PostgreSQL 以及实时的消息流,如 Kafka、Loghub 等。利用 Flink CDC Source 实现全量和增量的数据摄取。
  2. 事件解析组件,将源头的 Event 事件转化为 Insert 、 Update 、 Delete 及 Alter 等操作类型。
  3. 在数据分发层按照主键做 Hash 分发,能有效避免源头热点表数据问题。
  4. TableMapping 组件,做数据的映射转发,将源头的 Event 事件映射到目的表,确保数据传输的准确性。同时提供了一系列丰富的T节点能力,涵盖了字符串替换、数据脱敏、JSON解析、数据过滤以及逻辑删除等能力,以满足用户多样化的数据处理需求。
  5. 在 Flink CDC 基础上实现了包括 Paimon 、Hudi、Iceberg 等多种湖格式的 Sink pipeline 支持,能够实现 DML 数据以及 DDL 在目的端重放。此外在入湖场景下也支持将 Paimon 、 Hudi、Iceberg 等表结构的元数据同步到阿里云的 DLF 上。用户在配置入湖同步解决方案时,可以选择将元数据构建在阿里云的 DLF 上,而实际的数据存储则依托于阿里云的 OSS 或 OSS-HDFS 文件存储服务。

2.4 数据集成-全增量入湖的解决方案流程

image.png

数据集成整库入湖解决方案主要分为下面三个流程步骤

  1. 结构迁移:其核心工作在于获取源头表的表结构信息,并将其映射到目的端表结构,同时生成目的端所需的建表语句并执行建表。
  2. 全量同步:完成从源头数据库到目的端的历史数据迁移。
  3. 增量同步:在全量同步完成后需进行位点对齐操作,并启动增量同步。增量同步能够实时捕捉源头数据和表的 Schema 变化,并将其同步到目的端,从而保持数据的实时性和一致性。

全增量入湖的过程中存在一些痛点:在全量同步阶段,由于用户可能积累了大量的数据,因此需要较多的资源来完成数据的迁移。此外在用户的业务高峰期期间也需要比较多的资源。

2.5 基于 AutoCopilot 的数据集成弹性扩缩容架构

image.png

数据集成需要解决的一个核心问题,如何根据用户的实际需求实现资源的动态伸缩。基于Flink Auto Copilot 机制,数据集成实现了弹性扩缩容机制。该功能的主要架构如下:DataWorks 数据集成管控系统与 DataWorks 资源调度管控进行交互,接收用户设置的调优参数,并将这些参数下发给 Flink VPP 。随后 Flink VPP 与 Flink VVR 进行交互, 根据用户设置的调优参数进行任务的弹性伸缩操作。当弹性伸缩完成后,相关消息会通过消息队列的方式发送给数据集成管控系统。数据集成管控系统在接收到这些消息后,会与 DataWorks 资源调度系统进行交互,更新资源分配情况,以实现资源的动态调整。通过这一架构成功支持了用户的定时调优和智能调优需求。支持用户可以根据自己的业务场景,为对应的同步任务配置资源的弹性伸缩策略,从而确保数据同步的高效性和稳定性。


03 DataWorks 数据集成入湖场景的产品化案例分享

3.1 DataWorks 数据集成入湖场景的客户成功实践

image.png

阿里云某客户利用 DataWorks 数据集成链路,成功搭建了一条入湖链路,实现了将源端 MySQL 的数据全增量同步到目的端的 Paimon表,进而进行数据加工和分析。借助 DataWorks 引擎的性能优势和弹性扩缩容架构,用户的成本最终下降了大约 50% .


3.2 DataWorks 数据集成入湖产品化演示


04 未来规划

未来规划主要包含以下三个部分:

image.png

  1. 计划支持更多的云端用户使用场景

目前支持的源端主要包括 MySQL 、Loghub、 Kafka 等,后续将拓展到更多的源头数据源,如 Oracle 、 Hive 等,以满足更广泛的用户入湖需求。

  1. 打造基于 AI 的任务诊断系统

通过 AI 大模型为用户提供任务的自助运维能力,提升任务管理的便捷性和效率。

  1. 推出数据质量检验功能

数据质量检验功允许用户周期或实时地比对源端数据和目的端数据的准确性,确保数据在迁移和同步过程中的一致性和完整性。

相关文章
|
10月前
|
传感器 人工智能 自然语言处理
火热邀测!DataWorks数据集成支持大模型AI处理
阿里云DataWorks数据集成新增大模型AI处理功能,支持在数据同步中无缝调用通义千问等AI模型,实现文本翻译、情感分析、摘要生成等功能。适用于电商客服、智能汽车、供应链、医疗、金融、法律及教育等多个场景,大幅提升数据处理效率与洞察深度。用户可通过自然语言配置,快速完成高级数据分析与处理,无需额外部署调试。立即申请测试资格,体验智能化数据处理!
1465 4
火热邀测!DataWorks数据集成支持大模型AI处理
|
8月前
|
数据采集 运维 DataWorks
DataWorks 千万级任务调度与全链路集成开发治理赋能智能驾驶技术突破
智能驾驶数据预处理面临数据孤岛、任务爆炸与开发运维一体化三大挑战。DataWorks提供一站式的解决方案,支持千万级任务调度、多源数据集成及全链路数据开发,助力智能驾驶模型数据处理与模型训练高效落地。
|
6月前
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
948 12
|
7月前
|
SQL 关系型数据库 Apache
从 Flink 到 Doris 的实时数据写入实践 —— 基于 Flink CDC 构建更实时高效的数据集成链路
本文将深入解析 Flink-Doris-Connector 三大典型场景中的设计与实现,并结合 Flink CDC 详细介绍了整库同步的解决方案,助力构建更加高效、稳定的实时数据处理体系。
2788 0
从 Flink 到 Doris 的实时数据写入实践 —— 基于 Flink CDC 构建更实时高效的数据集成链路
|
9月前
|
机器学习/深度学习 数据采集 存储
朴素贝叶斯处理混合数据类型,基于投票与堆叠集成的系统化方法理论基础与实践应用
本文探讨了朴素贝叶斯算法在处理混合数据类型中的应用,通过投票和堆叠集成方法构建分类框架。实验基于电信客户流失数据集,验证了该方法的有效性。文章详细分析了算法的数学理论基础、条件独立性假设及参数估计方法,并针对二元、类别、多项式和高斯分布特征设计专门化流水线。实验结果表明,集成学习显著提升了分类性能,但也存在特征分类自动化程度低和计算开销大的局限性。作者还探讨了特征工程、深度学习等替代方案,为未来研究提供了方向。(239字)
251 5
朴素贝叶斯处理混合数据类型,基于投票与堆叠集成的系统化方法理论基础与实践应用
|
7月前
|
人工智能 运维 负载均衡
F5发布业界首创集成式应用交付与安全平台,开启ADC 3.0新时代
F5发布业界首创集成式应用交付与安全平台,开启ADC 3.0新时代
249 0
|
7月前
|
人工智能 自然语言处理 分布式计算
AI 驱动传统 Java 应用集成的关键技术与实战应用指南
本文探讨了如何将AI技术与传统Java应用集成,助力企业实现数字化转型。内容涵盖DJL、Deeplearning4j等主流AI框架选择,技术融合方案,模型部署策略,以及智能客服、财务审核、设备诊断等实战应用案例,全面解析Java系统如何通过AI实现智能化升级与效率提升。
585 0
|
11月前
|
人工智能 自然语言处理 DataWorks
DataWorks Copilot 集成Qwen3-235B-A22B混合推理模型,数据开发与分析效率再升级!
阿里云DataWorks平台正式接入Qwen3模型,支持最大235B参数量。用户可通过DataWorks Copilot智能助手调用该模型,以自然语言交互实现代码生成、优化、解释及纠错等功能,大幅提升数据开发与分析效率。Qwen3作为最新一代大语言模型,具备混合专家(MoE)和稠密(Dense)架构,适应多种应用场景,并支持MCP协议优化复杂任务处理。目前,用户可通过DataWorks Data Studio新版本体验此功能。
1254 23
DataWorks Copilot 集成Qwen3-235B-A22B混合推理模型,数据开发与分析效率再升级!
|
10月前
|
数据采集 SQL canal
Amoro + Flink CDC 数据融合入湖新体验
本文总结了货拉拉高级大数据开发工程师陈政羽在Flink Forward Asia 2024上的分享,聚焦Flink CDC在货拉拉的应用与优化。内容涵盖CDC应用现状、数据入湖新体验、入湖优化及未来规划。文中详细分析了CDC在多业务场景中的实践,包括数据采集平台化、稳定性建设,以及面临的文件碎片化、Schema演进等挑战。同时介绍了基于Apache Amoro的湖仓融合架构,通过自优化服务解决小文件问题,提升数据新鲜度与读写平衡。未来将深化Paimon与Amoro的结合,打造更高效的入湖生态与自动化优化方案。
553 1
Amoro + Flink CDC 数据融合入湖新体验
|
10月前
|
SQL 关系型数据库 MySQL
Flink CDC 3.4 发布, 优化高频 DDL 处理,支持 Batch 模式,新增 Iceberg 支持
Apache Flink CDC 3.4.0 版本正式发布!经过4个月的开发,此版本强化了对高频表结构变更的支持,新增 batch 执行模式和 Apache Iceberg Sink 连接器,可将数据库数据全增量实时写入 Iceberg 数据湖。51位贡献者完成了259次代码提交,优化了 MySQL、MongoDB 等连接器,并修复多个缺陷。未来 3.5 版本将聚焦脏数据处理、数据限流等能力及 AI 生态对接。欢迎下载体验并提出反馈!
1646 1
Flink CDC 3.4 发布, 优化高频 DDL 处理,支持 Batch 模式,新增 Iceberg 支持

热门文章

最新文章