湖仓一体架构研究.docx
《湖仓一体架构研究.docx》由会员分享,可在线阅读,更多相关《湖仓一体架构研究.docx(10页珍藏版)》请在第一文库网上搜索。
1、湖仓一体架构研究湖仓一体是将数据湖和数据仓库两者之间的差异进行融合,从而构建一个完整的有机的大数据技术生态体系1。它既具有数据仓库高质量、可查询性高的特点,也具备数据湖弹性存储、灵活处理的优势,并且还可以进一步简化企业数据的基础架构,降低成本,减小数据冗余一、技术选型目前最热门的数据湖产品当属:ApacheHudi,ApacheIceberg和De1ta1ake,Hudi对上下游生态的开放、对全局索引的支持、对F1ink1.13版本的支持,以及对Hive版本的兼容性(Iceberg不支持Hive1.x的版本)等原因,选择了Hudi作为湖仓一体和流批一体的存储引擎。1.1Hudi特性(1)快速U
2、PSert,可插入索引(2)以原子方式操作数据并具有回滚功能(3)写入器之和查询之间的快照隔离(4)SaVePOint用户数据恢复的保存点(5)管理文件大小,使用统计数据布局(6)异步压缩行列数据(7)具有时间线来追踪元数据血统(8)通过聚类优化数据集1. 2hudi优势 (1)ACID支持SnaPShOtIso1ation(多个Writer写的数据无交集,则能够并发执行;不然只能串行。Reader和Writer能够同时跑),相较于ICeberg的WriteSeria1ization(多个Writer必须严格串行,reader和Writer之间则能够同时跑)更好。 (2)hudi支持批处理和流
3、处理,而ICeberg只支持批处理 (3)底层储存可插拔,方便后续转移到其他的分布式文件系统,比如可以从hdfs迁移到s3上,hudi计算引擎强绑定SPark,与之前系统的计算系统接轨 (4)hudi社区相较于其它数据湖开源社区热度更高,后续使用问题也能更好的在网上学习研究。 (5)hudi功能最丰富,提供的UPSert和ComPaCtiOn功能也非常方便数仓和数据湖中使用 (6)对上下游生态开放、支持全局索引、支持f1ink1.3(可以使用f1inkcdc)1.3同步工具Cana1:只适合增量数据的同步并且需要部署,维护起来相对较重。Maxwe11:比较轻量,但与Cana1一样需要配合Kaf
4、ka等消息队列使用F1inkcdc:通过配置F1inkconnector的方式基于F1ink-SQ1进行使用,十分轻巧,并且完美契合基于F1ink-SQ1的流批一体架构。1.4湖仓一体架构1、数据库(mysq1、orac1e)中的数据可以通过f1inkCdC采集进入kafka,充当数仓中的数据原始层(OC1S层),(f1inkCdC也可以直接写入hudi,但是如果多个任务一起调用访问数据库的话,可能会有性能压力)2、数据如果需要分层计算就往下游发送,同时也落一份到hudi中,供离线计算3、在hudi中,离线计算可以起到数据修正的一个作用(有可能存在由于口径调整或者前一天的实时任务计算结果错误,
5、导致重跑历史数据的情况)4、实时计算的数据就保存在kafka中,kafka的数据保存时间也可以自己调整,默认是7天,所以kafka不会保存太久的历史数据,如果要跑太久的历史数据的话,可以通过hudi里跑离线来实现。5、Hudi中的数据可以通过hive的外部表的形式呈现数据。6、除了数据库到kafka这一步,其他的数据计算可以用之前平台的SPark进行流处理和批处理,sparkstreaming可以实现流计算1.5流批一体1、首先数据统一采集进入kafka数据原始层2、原始层数据一部分数据根据处理逻辑进入下流kafka,通过原始层数据一部分备份保存到hudi,以hive的外部表的形式进行数据呈现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一体 架构 研究