18-6 字节跳动基于 Parquet 格式的降本增效实践 徐庆,王恩策

2761
2
2023-09-18 20:53:30
23
8
83
10
字节跳动离线数仓默认使用 Parquet 格式进行数据存储,但是在业务使用过程中我们遇到了小文件过多,数据存储成本高等相关问题。 针对小文件过多问题,现有技术方案一般是通过 Spark 读取多个 Parquet 小文件后,再将这些数据重新输出并合并到一个或多个大文件。对于存储成本过大问题目前离线数仓只有分区级的行级 TTL 方案,如果需要删除分区中不再使用且占比较大的明细字段数据(列级 TTL),则需要通过 Spark 将数据读取出来并将需要删除的字段置为 NULL 的覆写方式来完成。 无论是小文件合并,列级 TTL,都存在对 Parquet 数据文件的大量覆写操作。由于 Parquet 格式有特殊的编码规则,需要经过特殊的(反)序列化、(解)压缩、(反)编码等一系列操作,才能实现对 Parquet 中数据的读写。在这一过程中,编解码、解压缩之类的操作是 CPU 密集型计算,会消耗大量计算资源。为了提高 Parquet 格式文件覆写效率,我们深入研究了 Parquet 文件格式定义,采用了二进制 copy 的方法优化数据覆写操作,跳过了普通覆写中编解码之类的多余操作,相比于传统方法大幅提高了文件覆写效率,性能是普通覆写方式的 10+ 倍。 为了提高易用性,我们同时提供了新的 SQL 语法来支持用户方便的完成小文件合并、列级 TTL 等操作。
Apache Local Community 北京本地社区
自动连播
6512播放
简介
18-1 使用Apache Flink, Apache Hive和Apache Iceberg构建实时数据仓库的挑战和解决方案 刘岩
36:04
18-2 基于 Flink 构建实时数据湖的实践 王正,闵中元
31:41
18-3 OpenEuler和Bigtop与Ambari在现实世界中增强数据湖 顾煜祺
28:55
18-5 数据湖 Iceberg 在小米的实践与优化 肖杰宝
23:20
18-6 字节跳动基于 Parquet 格式的降本增效实践 徐庆,王恩策
23:06
19-1 云原生数据湖如何提速两倍以上 史少锋
48:28
19-3 下一代超高性能大数据集成工具 - Apache SeaTunnel 在数据湖场景的应用 代立冬
29:55
19-4 基于Apache Iceberg, Apache Arrow和Apache Parquet的创新lakehouse设计 吴刚,付旭炜
48:18
19-2 Apache Paimon 流式数据湖:CDC 入湖与流读 李劲松
35:30
客服
顶部
赛事库 课堂 2021拜年纪