基于Delta Lake和Hudi格式的湖仓一体化解决方案

一、最佳实践背景整个最佳实践是基于MaxCompute的湖仓一体架构,模拟公司使用场景。比如公司 A 使用云上关系型数据库 RDS 作为自己的业务库,同时使用阿

大家好,感谢邀请,今天来为大家分享一下基于Delta Lake和Hudi格式的湖仓一体化解决方案的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

湖仓一体化架构:异构数据平台集成

因为企业内部会有很多业务线、不同部门,由于自身业务的需求以及员工的技术栈,所使用的数据架构和数据平台不同,数据平台也不同。技术架构包括Hadoop技术体系和基于云的全托管架构。这就导致不同部门使用不同的技术架构和技术平台,这也造成了数据碎片化。湖与仓的融合是为了帮助企业连接异构数据平台,让底层数据可以互相访问,中间元数据层也可以看到对方,数据可以自由流动。数据湖部分不仅支持EMR,还支持云下的ESC Hadoop和IDC Hadoop。其中,MaxCompute数据仓库还可以与数据湖EMR建立数据连接,利用MaxCompute与联播数据源进行联播查询,从而将所有数据汇总在MaxCompute中。例如,有三张表。在RDS和Hive中,MaxCompute中存在大量的事实表。如果需要对这三张表进行联合查询,可以使用这种架构非常方便地做到这一点。

更快的业务洞察

DataWorks自助激活湖仓一体:5分钟打通异构数据平台更广泛的生态对接(Hadoop/DLF+OSS)

支持与阿里云原生数据湖建设(DLF)对接。支持查询DeltaLake和Hudi格式。支持对接更多外部联邦数据源。 Hologres(RDS、HBaseUpcoming!)以获得更高的性能。

智能缓存实现OSS/HDFS数据访问加速湖数据查询加速,更好的综合数据开发和治理

跨引擎开发调度,统一湖/仓数据开发体验,统一湖/仓全局资产管理

湖库一体化结构

首先看右边的部分,它是连接OSS和DLF端的,因为我们在OSS上归档了大量的半结构化和结构化数据。有关系型数据库和nosql数据库,可以通过DLF组件爬取OSS上的元数据。与在MaxCompute上创建OSS Surface来访问OSS数据相比,现在使用DLF来自动识别OSS Schema。 MaxCompute直接映射这个方法,比较方便。 DLF还可以自动识别一些数据更新和架构更改。同时DLF有用户权限管理,未来会推出。也就是说,对于接入OSS的引擎,统一的数据访问权限将被汇聚到DLF中。

左边是Hadoop生态系统的整合。 Hadoop包括阿里云的半托管EMR,开源在ECS和IDC Hadoop上,也包括主流发行版CDH,也可以连接。加上下面的联邦数据源。通过MaxCompute,您可以连接各种云数据源并上传到DataWorks进行统一开发和管理以及数据治理。这样就有了全局的数据资产视图,开发工作数据也可以打通,元数据也可以投影到DataWorks上。这是整个湖和仓库的一体化结构。

二、相关产品介绍

数据湖建设DataLakeForamtion

DLF主要作为OSS数据的托管,上层连接EMR、Databricks、DataInsight、PAI、MaxCompute、Hologres等其他引擎。这些引擎可以共享DLF 上的元数据副本。后续企业可以根据不同部门、不同业务场景随意切换引擎。未来我们也会逐步完善访问控制和一些企业级的能力,比如安全性,包括数据分层。

数据入湖

支持多种数据源入湖,MySQL、SLS、OTS、Kafka等离线/实时入湖,支持Delta/Hudi等数据湖格式数据入湖预处理,支持字段映射/转换/自定义UDF操作元数据管理

统一元数据管理,解决元数据多引擎一致性问题。兼容开源生态API,自动生成元数据,降低使用成本。访问控制

集中数据访问权限控制,多引擎统一集中授权数据访问日志审计,统计数据访问信息

三、最佳实践Demo

总体架构

企业建设和应用数据湖一般需要经历数据入湖、数据湖存储和管理、数据探索和分析等几个过程。本文主要介绍基于阿里云MaxCompute、数据湖构建(DLF)+对象存储(OSS)的一站式数据湖构建与分析的实践。其主要数据链接如下:

第一步:RDS数据准备

基于Delta Lake和Hudi格式的湖仓一体化解决方案

RDS数据准备,在RDS中创建数据库academy_db。在帐户中心创建一个可以读取员工数据库的用户帐户。通过DMS登录数据库,执行以下语句创建anti_fraud_result表,并插入少量数据。

创建表`anti_fraud_result` ( `transactionid` varchar(32) NOT NULL, `uid` varchar(32) DEFAULT NULL, `card` varchar(32) DEFAULT NULL, `longitude` double(12,8) DEFAULT ‘12.00000000’, `latitude` double(12,8) DEFAULT ‘12.00000000’, PRIMARY KEY (`transactionid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `anti_fraud_result` 值(‘12489571′,’82005′,’123123’ ,3.14592040 ,101.12315432);插入`anti_fraud_result`值(‘12489572′,’82005′,’123123’,3.14592040,101.12315432);插入`anti_fraud_result`值(‘124 89573′,’82005′,’ 123123′,3.14592040,101.12315432);插入`anti_fraud_result`值(‘12489574′,’82005′,’123123’,3.14592040,101.12315432);

第2部分:DLF数据入湖

进入DLF控制台界面:https://dlf.console.aliyun.com/cn-hangzhou/home,点击菜单数据入湖-数据源管理-新建数据源。输入数据库相关连接信息

填写完RDS实例、登录信息、网络和安全组信息后,点击“连接测试”

在OSS中新建一个Bucket和目录,如bucket: rtcompute,目录:oss://rtcompute/csvfile/在DLF控制台界面,点击左侧菜单“元数据管理”-“元数据库”,点击“新建元数据库”。填写名称covid-19,新建目录并选择。

创建入湖任务:在DLF控制台点击菜单“数据入湖”-“首页入湖任务管理”,点击“新建入湖任务”-选择“关系型数据库实时入湖”,根据填写数据源下图信息,目标数据湖,任务配置等信息。并保存。

如果是Hudi格式,可以在“存储格式”中选择Hudi:

b.接下来,输入任务实例名称、RAM角色和最大资源使用率,然后单击“下一步”确认信息。

c.在DLF控制台的“入湖任务管理”界面中,找到刚刚创建的入湖任务列表,点击“运行”,启动入湖作业;本次数据入湖任务是全量+增量入湖任务,大约需要3到5分钟的时间,所有数据都会导入完毕,然后会自动进入实时监控状态。如果数据更新,将自动更新为Delta Lake 或Hudi 数据格式。

第三步:在MaxCompute中查询数据

激活DataWorks和MaxCompute(快速入门请参考文档),并进入DataWorks临时查询界面(请参考文档)

创建MaxCompute外部Project映射DLF元数据:

查询数据:set odps.sql.hive.兼容=true;set odps.sql.split.hive.bridge=true;select * from ext_dlf_delta.sh_rds;

第4 部分:RDS 中的新数据

INSERT INTO `anti_fraud_result` 值(‘12489575′,’82005′,’123123’,3.14592040,101.12315432);INSERT INTO `anti_fraud_result`值(‘12489576′,’82005′,’123123’,3.14 5 92040, 101.12315432);插入`anti_fraud_result`值(‘12489577′,’82005′,’123123’,3.14592040,101.12315432);插入`anti_fraud_result`值(‘12489578’,’82005 ‘,’123123’, 3.14592040 ,101.12315432);INSERT INTO `anti_fraud_result`值(‘12489579′,’82005′,’123123’,3.14592040,101.12315432);

MaxCompute中验证数据

设置odps.sql.hive.兼容=true;设置odps.sql.split.hive.bridge=true;从ext_dlf_delta.sh_rds中选择*;

1分钟内,查看MaxCompute中数据更新情况:

用户评论

基于Delta Lake和Hudi格式的湖仓一体化解决方案
心已麻木i

真没想到现在也有这种高效的湖仓一体方案了!我一直在关注湖仓架构技术的发展,Delta Lake 和 Hudi 都是非常好的选择,能提升数据处理效率还真是强力推荐

    有7位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
一生只盼一人

这篇文章的内容很实用,详细介绍了基于 Delta Lake 和 Hudi 格式的方案,对想要了解湖仓一体架构的朋友来说非常有帮助!

    有10位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
稳妥

以前我的数据系统还蛮复杂的,现在看到这种统一管理的数据解决方案还挺心动的。Delta Lake和Hudi确实强大,期待能进一步提高公司的数据处理效率!

    有20位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
古巷青灯

看了下文章,感觉这个方案还不错吧!可以简化开发过程,减少重复的架构设计工作,很符合我们公司现在对数据平台的需求。

    有18位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
一生荒唐

湖仓一体一直是热门议题,这篇文章从实际应用出发,介绍了基于 Delta Lake、Hudi 格式的方案,思路清晰易懂。期待能够看到更多相关的实战经验分享!

    有7位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
Edinburgh°南空

Delta Lake 和 Hudi 都是开源框架,学习成本相对较低,这个方案也很好理解和实施,对于一些小型公司来说很不错!

    有13位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
在哪跌倒こ就在哪躺下

文章虽然详细介绍了方案的特点,但我还是觉得缺少一些可量化指标的数据支撑。具体优化数据处理效率多少?如何实现更有效的治理?这些细节能更加吸引读者。

    有15位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
哭着哭着就萌了°

这个方案有没有考虑不同类型的应用场景呢?比如对实时处理或者离线分析场景的适用性。希望文章能够提供更全面的解决方案

    有10位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
♂你那刺眼的温柔

我一直觉得湖仓一体化的目标是统一数据管理,这个方案能否真正做到完全集成的湖仓架构呢?我觉得还需要一些阐释和说明!

    有10位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
枫无痕

总的来说这个方案还是不错的,特别是对于数据量较大的企业来说,能够提升数据的处理效率。但为了更精准地解决不同的业务需求,需要根据具体情况进行调整和定制化开发!

    有7位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
凉凉凉”凉但是人心

基于 Delta Lake 和 Hudi 格式的湖仓一体方案听起来很不错,可以更有效地管理海量数据和提高数据分析效率!期待看到更深入的技术细节和实战案例分享!

    有16位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
泡泡龙

这个方案能帮助企业更快、更高效地处理数据,降低成本,提升竞争力。相信在未来几年,湖仓一体架构将会成为主流的数据管控模式!

    有16位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
_心抽搐到严重畸形っ°

我对 Delta Lake 和 Hudi 对数据安全的防护措施比较关心。文章里有没有提到具体的安全机制和策略呢?毕竟数据安全是重要的考量因素!

    有7位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
寂莫

这种方案听起来很专业,但我作为技术小白还是不太理解,希望能够用更通俗易懂的语言解释下原理和应用场景!

    有11位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
敬情

看来这篇文章确实值得一看!我对湖仓一体架构一直比较感兴趣,这个方案可以帮助我更好地理解相关技术,提高我的数据应用能力!

    有6位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
拽年很骚

文章写得不错,讲解清晰简洁。基于 Delta Lake 和 Hudi 格式的湖仓一体方案很适合当前的数据发展趋势,相信这个方案将会有很好的应用前景!

    有13位网友表示赞同!

基于Delta Lake和Hudi格式的湖仓一体化解决方案
从此我爱的人都像你

之前我一直用传统的数据库架构进行数据管理,现在看这种新型方案有点心动!希望能够学习到更多相关知识,帮助我改进现有的数据系统!

    有9位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/113150.html

(0)
小su's avatar小su
上一篇 2024年9月1日 上午12:00
下一篇 2024年9月1日 上午12:03

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注