数据湖平台建设与优化
为什么要建设数据湖
- 加速数据流通:数据湖技术能够加速数据在不同计算平台之间的流通。
- 低成本:相比传统存储方式,数据湖成本更低,支持PB级容量,且只需存储最近几小时的数据。
- 实时性和灵活性:数据湖支持近实时数据处理,成本效益高,适合需要快速响应的场景。
数据湖平台概述
- 平台架构:包括数据湖平台、权限管理、元数据管理、生命周期管理、流式入湖和出湖查询等功能模块。
- 主要组件:HDFS、Kafka、Iceberg、Pilot、Trino、SparkSQL等。
表格式对比
- Hive vs Iceberg:
- Hive:支持分区级过滤,但元数据容易成为瓶颈。
- Iceberg:支持文件级过滤,操作原子性好,适用于大规模数据集分析。
性能优化
- 小文件问题:
- 生命周期配置:通过配置策略优化小文件。
- 智能合并:自动选择待合并分区,减少文件数量。
- 合并性能优化:修复合并过程中存在的问题,如DeleteFile合并后的处理。
- 写入参数控制:通过调整参数减少小文件生成。
查询优化
- BloomFilter:引入BloomFilter优化查询性能,提升订单ID查询速度。
- Alluxio缓存:通过Alluxio缓存加速查询,显著降低查询耗时。
业务落地
- 广告流批一体:通过统一写入Iceberg表,实现离线和实时数据的一体化处理。
- Venus日志入湖:成本降低,稳定性提升,减少写入失败。
- 审核效率提升:通过即席分析减少人工审核时间,提高人效。
- CDC订单入湖:降低成本,提高数据处理效率,实现秒级延迟。
未来规划
- 业务:进一步推广流批一体应用,提升广告处理效率。
- 技术:调研并应用Puffin统计信息、Branch和Tag技术,进一步优化查询加速。
通过以上优化和应用,爱奇艺成功构建了一个高效、灵活的数据湖平台,提升了数据处理的效率和质量。