数据湖技术之平台建设篇1,主要介绍了湖仓平台建设的前三个主要工作,本次主要继续上次的建设工作介绍,聊一聊一站式湖仓服务平台的相关管理能力建设以及针对小文件的处理。
一. 一站式湖仓服务平台的相关管理能力
主要是将相关能力落地到平台功能,简化业务操作,形成一体化的平台服务,整体如下图所示:
- 首先是库表管理,支持安全便捷的库表管理功能,支持多种建表方式(页面配置 or Sql),方便业务根据情况进行应用,同时结合业务需求,可以考虑扩展相关功能,比如元数据表拷贝能力等。整体是保证库表管理的安全性,且还需要考虑让业务减少操作成本,尽量增强业务的体验感受。
- 库表认领、权限管理,细粒度的权限控制,针对敏感数据的字段设置oa账号粒度的权限,保障数据安全。
- 数据集成管理,数据采集、存储、分发, 数据存储到kafka上,配置化服务,申请工单直接采集和存储,简化业务应用成本。
- 数据探查,满足业务产品、技术同学临时探查、周期探查的使用需求,需要支持快捷方便的探查能力。
- 入湖入仓任务管理,支持高效便捷入湖,支持配置化方式、sql化方式,满足不同业务场景需求,降低业务接入成本。
- 湖仓任务管理,湖仓任务相关管理操作,启停任务、编辑任务、复制任务等等。
- 数据生命周期管理,库表数据生命周期管理,天粒度异步清理过期数据,清理无用数据,避免数据冗余。
- 监控告警管理,任务告警机制(特别是压缩效率相关的监控)、业务库表小文件监控告警机制等。
- 湖仓报表管理,湖仓相关库表、任务统计报表化,方便分析湖仓具体情况。
- 异步压缩任务管理,Iceberg库表方面:压缩合并任务、快照过期任务、清理孤儿文件任务管理。Hudi库表方面:压缩合并任务管理。同时各种为了适配各种场景需求,可以按照不同时间粒度进行调度任务。
- 业务治理,结合各种监控数据,自动分析湖仓库表、任务的合理性,手动或者自动进行治理操作,避免资源浪费等。
二. 小文件相关处理:
应用数据湖引擎会产生一些小文件,无论是Hudi还是Iceberg都会产生大量小文件,非常影响存储集群的稳定性以及业务读取性能,所以需要进行压缩合并,减少整体文件数量。下面我们看下Iceberg方面小文件增长的过程:
可以从异步任务和同步处理两个方面 共同保障业务读写性能的稳定。为了避免影响写入任务的稳定性,同步处理方面小量级进行压缩合并,异步任务全量压缩合并小文件,彻底解决掉小文件问题。
三.总结:
本篇文章主要介绍了湖仓平台建设的后两个主要工作:一站式湖仓服务平台的相关管理能力、小文件相关处理。整体建设工作是一个逐步的过程,需要不断的优化和完善,适配不同业务场景的使用需求,也包括平台的适用性、安全性、稳定性方面的优化,同时业务使用体验、接入成本也是一个比较重要的考量点,让业务更低成本、高效率应用湖仓平台去解决痛点问题,才能事半功倍的推广具体业务的落地。