为什么叫湖原line


抖音集团数据湖表的实现及应用

抖音集团内部采用了一种名为ByteLake的数据湖格式,它是基于Apache Hudi深度定制的一种数据库框架。ByteLake不仅支持传统的数据仓库分析,还适用于交互式分析及特征工程等场景。

一、核心概念及实现原理

ByteLake的核心概念是timeline,它继承自Hudi的Timeline概念,主要用于记录不同时刻在表上的操作集合。每个操作包括行动类型、时间戳以及状态。在服务层,ByteLake提供了两个重要的元数据管理服务:ByteLake Metastore和Global Catalog service。前者负责数据湖表元数据管理,提供对timeline和Snapshot的访问接口,并实现数据湖表的并发控制能力。底层采用了可插拔的元数据存储层,支持HDFS或MySQL等存储方式。Global Catalog Service则提供统一的元数据视图,兼容HMS API接口,并支持不同数据中心间的元数据访问路由。

二、ByteLake对Hudi的优化改造

三、抖音集团数据湖表管理的问题与挑战

由于ByteLake在Hudi的基础上做了大量改动,因此其表管理方式和原生Hudi有所不同。抖音集团引入了全托管的表管理服务来解决优化任务调度和执行中的痛点。该服务负责ByteLake表的优化任务的异步调度、提交、执行和监控等全生命周期管理。表管理服务采用了分布式设计,包含API Server、Scheduler Service和轻量级任务处理器Light Process Worker三个角色。通过这些服务确保了ByteLake表的写入性能和查询性能和稳定性,同时了底层细节,使业务方能够专注于自身业务逻辑。此外抖音集团还基于表管理服务实现了ByteLake的高级功能如TTL能力。

四、与Amoro的融合及社区贡献

当前数据湖表管理存在一些不足,如缺乏统一的元数据展示和服务支持以及运维工具的缺失等。为了改善这些问题,抖音集团尝试与Amoro社区进行合作。我们计划基于Amoro实现运维工具的规范化,并使用Amoro进行表管理服务的展示。下一步我们将开发基于Amoro的标准化开发运维工具改善用户体验并符合海外合规环境下的运维要求。此外我们还计划扩展Amoro对开放数据湖表格式的支持能力并通过深化Amoro和ByteLake表元数据管理服务的融合来推进开放数据服务表管理平台的发展。同时我们将把表管理服务的部署架构推向社区实现分布式横向扩展部署的能力以更好地适应大规模生产环境。未来我们还将增强Amora的功能通过抽象出更通用的process接口来实现更复杂的表管理任务如数据搬迁等。这将为社区带来新的发展方向和技术积累。