多数据源一站式入湖

简介: 通过一站式入湖,将不同数据源的数据统一归并到以OSS对象存储为基础架构的集中式数据湖存储中,解决了企业面临的数据孤岛问题,为统一的数据分析打好了基础.

背景

数据湖作为一个集中化的数据存储仓库,支持的数据类型具有多样性,包括结构化、半结构化以及非结构化的数据,数据来源上包含数据库数据、binglog增量数据、日志数据以及已有数仓上的存量数据等.数据湖能够将这些不同来源、不同格式的数据集中存储管理在高性价比的存储如OSS等对象存储中,并对外提供统一的数据分析方式,有效解决了企业中面临的数据孤岛问题,同时大大降低了企业存储和使用数据的成本.

1.png

由于数据湖数据来源的多样性,如何简单高效的将这些异构数据源的数据迁移到中心化的数据湖存储中,是数据湖构建过程面临的问题.为此,我们需要提供完善的一站式入湖的能力,解决我们面临的问题,主要包括以下几点:

  • 支持异构数据源统一的入湖方式

提供一个简单统一的入湖方式,用户可以通过简单的页面配置实现异构数据源的入湖操作.

  • 满足数据入湖的时效性

对于日志、binglog等类型的数据源,需要实现分钟级延迟的数据入湖能力,满足实时交互式 分析场景对时效性的要求.

  • 支持数据源的实时变更

对于数据库、TableStore Tunnel等类型的数据源,源头数据会经常发生变更,比如数据层面的update,delete等操作,甚至schema层面的字段结构变更. 需要利用更好的数据格式来支持这类变更行为.

为此,阿里云新推出了数据湖构建(Data Lake Formation,DLF)服务,提供了完整的一站式入湖解决方案。

整体方案

数据湖构建的入湖技术方案如下图所示:

2.png

数据入湖整体上分为入湖模板、入湖引擎、文件格式以及数据湖存储四个部分:

入湖模板

入湖模板定义了常见的数据源入湖方式,目前主要包括RDS全量模板、DTS增量模板、TableStore模板、SLS模板以及文件格式转换5种模板.

3.png

用户根据不同的数据源选择相应的入湖模板,然后填写源头相关参数信息,即可完成入湖模板的创建,并提交给入湖引擎运行.

入湖引擎

入湖引擎使用了阿里云EMR团队自研的Spark Streaming SQL以及EMR Spark引擎,Streaming SQL基于Spark Structured Streaming,提供了相对完善的Streaming SQL语法,极大简化了实时计算的开发成本。对于实时增量模板,上层入湖模板部分将入湖模板翻译成Streaming SQL,然后提交Spark集群运行。我们在Streaming SQL里面扩展了Merge Into语法来支持update、delete操作。对于RDS等全量模板,则直接翻译成Spark SQL运行。

文件格式

DLF支持的文件格式包括Delta Lake、Parquet、json等,更多文件格式比如Hudi也在接入中。Delta Lake和Hudi等文件格式能很好的支持update、delete等操作,同时支持schema merge功能。可以很好的解决数据源实时变更问题。

数据湖存储

数据湖数据统一放在OSS对象存储中,OSS提供了海量数据存储的能力,同时在可靠性,价格等方面更具优势.

一站式入湖方案在很好的解决了前面提的几个问题:

  • 支持异构数据源统一的入湖方式

通过模板配置,实现了统一简单的数据入湖方式.

  • 满足数据入湖的时效性

通过自研Streaming SQL实现了分钟级延迟的数据实时入湖,满足了时效性要求.

  • 支持数据源的实时变更

通过引进Delta Lake等更优的文件格式,实现了对update、delete等数据实时变更要求.

实时入湖

随着大数据的不断发展,用户对数据时效性的要求越来越高,实时入湖也是我们重点关注的场景,目前我们已经支持了DTS、TableStore以及SLS的实时入湖能力.

DTS增量数据实时入湖

DTS是阿里云提供了高可靠的数据传输服务,支持不同类型数据库增量数据的订阅和消费。我们实现了DTS实时订阅数据的入湖,支持用户已有订阅通道入湖和自动创建订阅通道入湖两种方式,减少用户配置成本。

4.png

在技术上,支持增量数据对历史数据的update、delete变更操作,实现分钟级延迟的数据变更感知能力。技术实现上在Streaming SQL中扩展了merge into语法来对接底层文件格式Delta Lake的相关接口.

MERGE INTO delta_tbl AS target
USING (
  select recordType, pk, ...
  from {{binlog_parser_subquery}}
) AS source
ON target.pk = source.pk
WHEN MATCHED AND source.recordType='UPDATE' THEN
UPDATE SET *
WHEN MATCHED AND source.recordType='DELETE' THEN
DELETE
WHEN NOT MATCHED THEN
INSERT *

和传统数仓的binlog入仓相比,基于数据湖的方案具有更大的优势. 在传统数仓中,为了实现数据库等变更数据的入仓,通常需要维护两张表,一张增量表用于存放每天新增的数据库变更明细数据,另外一张全量表,存放历史所有的merge数据,全量表每天和增量表更据主键做merge操作. 显然,基于数据湖方案在实现的简单性和时效性上都更优.

TableStore实时入湖

TableStore是阿里云提供的是阿里云自研的NoSQL多模型数据库,提供海量结构化数据存储以及快速的查询和分析服务.它同时支持了通道功能,支持变更数据的实时消费。我们支持TableStore全量通道、增量通道以及全量加增量通道的实现入湖.其中全量通道包含历史全量数据,增量通道包含增量变化的数据,全量加增量通道则包含了历史全量和增量变化的数据.

5.png

SLS日志实时入湖

SLS是阿里云提供的针对日志类数据的一站式服务,主要存放用户日志数据。将SLS中的日志数据实时归档到数据湖中,进行分析处理可以充分挖掘数据中的价值。目前通过SLS入湖模板,填写project、logstore等少量信息,即可完成日志实时入湖的能力。

总结展望

一站式入湖功能极大的降低了异构数据源入湖的成本,满足了SLS、DTS等数据源入湖的时效性要求,同时也支持了数据源实时变更的能力。通过一站式入湖,将不同数据源的数据统一归并到以OSS对象存储为基础架构的集中式数据湖存储中,解决了企业面临的数据孤岛问题,为统一的数据分析打好了基础.

后续一站式入湖一方面将继续完善功能,支持更多类型的数据源,入湖模板方面开放更多能力给用户,支持自定义ETL的功能,提高灵活性。另一方面,将会在性能优化方面不断投入,提供更好的时效性和稳定性。


更多数据湖技术相关的文章请点击:阿里云重磅发布云原生数据湖体系


更多数据湖相关信息交流请加入阿里巴巴数据湖技术钉钉群
数据湖钉群.JPG

相关文章
|
9月前
|
消息中间件 存储 Kafka
基于Flink CDC的企业级日志实时入湖入流解决方案
本文由阿里云Flink CDC负责人徐榜江与高级产品经理李昊哲联合撰写,详解企业级日志实时入湖入流方案:基于YAML的零代码开发、Schema自动推导、脏数据处理、多表路由及湖流一体(Fluss+Paimon)架构,显著提升时效性与易用性。
1120 2
基于Flink CDC的企业级日志实时入湖入流解决方案
|
4月前
|
数据采集 JavaScript 前端开发
技术拆解:单页面应用(SPA)路由跳转后的数据抓取策略
这篇文档讨论了单页应用(SPA)数据抓取的挑战和策略。SPA与传统服务端渲染不同,数据由JS生成,导致传统爬虫失效。难点包括路由切换时机、动态接口定位、鉴权、反爬等。解决方案包括直接复现接口和浏览器自动化渲染。核心是保持会话和IP一致性。文档提供了技术解决方案和代码示例。
380 1
|
4月前
|
人工智能 安全 API
API Key如何从"人手一把"走向"按需分配"——从身份认证到策略驱动的访问控制
本文探讨AI时代API Key管理的痛点与破局之道:当团队规模扩大,分散的静态Key导致成本失控、安全风险与排查困难。核心方案是用“虚拟Key+策略绑定”替代“人手一把”,实现按需签发、动态授权、分钟级回收,并达成成本归因透明化。管得更聪明,而非更严。
311 0
|
5月前
|
人工智能 运维 监控
AI编程方案解析:DeepSeek V4-Pro对接Claude Code全指南:配置、实测与问题排查
在AI编程与自动化运维领域,Claude Code凭借完善的工具调用能力、全流程任务执行逻辑,成为众多开发者和运维人员的常用工具。但原生接入高阶模型存在使用成本偏高、账号稳定性不足、限流频发等问题,寻找高性价比的替代模型成为行业普遍需求。2026年DeepSeek V4-Pro凭借强大的推理能力、超长上下文以及原生协议兼容性,成为适配Claude Code的优选方案。与此同时,OpenClaw、Hermes Agent两类主流AI智能体框架,依托阿里云轻量应用服务器可实现快速部署,搭配阿里云百炼Token Plan还能进一步统筹模型调用、控制使用成本。本文将围绕模型对接、Agent选型部署、订
661 0
AI编程方案解析:DeepSeek V4-Pro对接Claude Code全指南:配置、实测与问题排查
|
7月前
|
人工智能 安全 Java
Spring AI 核心架构、抽象模型与四大核心组件设计精髓
Spring AI 是 Spring 官方推出的 Java AI 应用开发框架,遵循“约定优于配置”等核心理念,提供统一 API 屏蔽多模型差异,支持 OpenAI、通义千问等厂商,集成 RAG、函数调用、结构化输出及企业级可观测性能力。
880 1
|
7月前
|
人工智能 API Go
Qoder 工程实践:Harness Engineering 指南
Harness 是一套面向 AI Agent 的工程化框架,通过将架构约束、规范文档和自动化验证(如依赖层级检查、质量规则)编码进代码仓库,为 Agent 构建“操作系统”。它以 AGENTS.md 为入口,用预验证替代盲目编码,以子代理分工、模型分级调度和交叉 Review 保障质量,并支持自我进化——从失败中学习、沉淀记忆、编译确定性脚本。让 Agent 不靠“记住”,而靠“看见”与“验证”可靠工作。
Qoder 工程实践:Harness Engineering 指南
|
监控 搜索推荐 调度
【内测征集】LarkVR 播控系统上新:VR 应用一站式专业播控与管理工具
Paraverse 平行云专为 VR 应用场景运营方打造的一站式专业播控与管理工具LarkVR播控系统,基于LarkXR实时云渲染平台方案,整合VR空间运营、播控管理、设备运营等场景衍生的VR管理工具,旨在帮助其高效管理设备和运营自己的业务,提升整体运营效率与用户体验。 VR 运营者不再局限于单一终端的串流业务系统,通过 LarkVR播控系统,一键部署前后端业务系统,运营人员使用 pad即可完成快捷操作。支持本地内网部署,支持个性化需求定制接入,兼容市面上主流的各品牌 VR 一体机。
594 12
|
SQL 弹性计算 DataWorks
Flink CDC 在阿里云 DataWorks 数据集成入湖场景的应用实践
Flink CDC 在阿里云 DataWorks 数据集成入湖场景的应用实践
1011 6