大家好,感谢邀请,今天来为大家分享一下基于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数据准备
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中数据更新情况:
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/113150.html
用户评论
心已麻木i
真没想到现在也有这种高效的湖仓一体方案了!我一直在关注湖仓架构技术的发展,Delta Lake 和 Hudi 都是非常好的选择,能提升数据处理效率还真是强力推荐
有7位网友表示赞同!
一生只盼一人
这篇文章的内容很实用,详细介绍了基于 Delta Lake 和 Hudi 格式的方案,对想要了解湖仓一体架构的朋友来说非常有帮助!
有10位网友表示赞同!
稳妥
以前我的数据系统还蛮复杂的,现在看到这种统一管理的数据解决方案还挺心动的。Delta Lake和Hudi确实强大,期待能进一步提高公司的数据处理效率!
有20位网友表示赞同!
古巷青灯
看了下文章,感觉这个方案还不错吧!可以简化开发过程,减少重复的架构设计工作,很符合我们公司现在对数据平台的需求。
有18位网友表示赞同!
一生荒唐
湖仓一体一直是热门议题,这篇文章从实际应用出发,介绍了基于 Delta Lake、Hudi 格式的方案,思路清晰易懂。期待能够看到更多相关的实战经验分享!
有7位网友表示赞同!
Edinburgh°南空
Delta Lake 和 Hudi 都是开源框架,学习成本相对较低,这个方案也很好理解和实施,对于一些小型公司来说很不错!
有13位网友表示赞同!
在哪跌倒こ就在哪躺下
文章虽然详细介绍了方案的特点,但我还是觉得缺少一些可量化指标的数据支撑。具体优化数据处理效率多少?如何实现更有效的治理?这些细节能更加吸引读者。
有15位网友表示赞同!
哭着哭着就萌了°
这个方案有没有考虑不同类型的应用场景呢?比如对实时处理或者离线分析场景的适用性。希望文章能够提供更全面的解决方案
有10位网友表示赞同!
♂你那刺眼的温柔
我一直觉得湖仓一体化的目标是统一数据管理,这个方案能否真正做到完全集成的湖仓架构呢?我觉得还需要一些阐释和说明!
有10位网友表示赞同!
枫无痕
总的来说这个方案还是不错的,特别是对于数据量较大的企业来说,能够提升数据的处理效率。但为了更精准地解决不同的业务需求,需要根据具体情况进行调整和定制化开发!
有7位网友表示赞同!
凉凉凉”凉但是人心
基于 Delta Lake 和 Hudi 格式的湖仓一体方案听起来很不错,可以更有效地管理海量数据和提高数据分析效率!期待看到更深入的技术细节和实战案例分享!
有16位网友表示赞同!
泡泡龙
这个方案能帮助企业更快、更高效地处理数据,降低成本,提升竞争力。相信在未来几年,湖仓一体架构将会成为主流的数据管控模式!
有16位网友表示赞同!
_心抽搐到严重畸形っ°
我对 Delta Lake 和 Hudi 对数据安全的防护措施比较关心。文章里有没有提到具体的安全机制和策略呢?毕竟数据安全是重要的考量因素!
有7位网友表示赞同!
寂莫
这种方案听起来很专业,但我作为技术小白还是不太理解,希望能够用更通俗易懂的语言解释下原理和应用场景!
有11位网友表示赞同!
敬情
看来这篇文章确实值得一看!我对湖仓一体架构一直比较感兴趣,这个方案可以帮助我更好地理解相关技术,提高我的数据应用能力!
有6位网友表示赞同!
拽年很骚
文章写得不错,讲解清晰简洁。基于 Delta Lake 和 Hudi 格式的湖仓一体方案很适合当前的数据发展趋势,相信这个方案将会有很好的应用前景!
有13位网友表示赞同!
从此我爱的人都像你
之前我一直用传统的数据库架构进行数据管理,现在看这种新型方案有点心动!希望能够学习到更多相关知识,帮助我改进现有的数据系统!
有9位网友表示赞同!