Apache Parquet 文件中嵌入用户自定义索引

2025-07-15

Apache Parquet 文件格式通常被认为仅支持基本的 Min/Max/Null Count 统计信息和布隆过滤器。然而,本文介绍了一种在 Parquet 文件中嵌入用户自定义索引结构的方法,而无需更改规范或创建新的文件格式。通过利用页脚元数据和基于偏移量的寻址,可以将自定义索引(例如,用于特定列的唯一值列表)直接嵌入到 Parquet 文件中,同时保持与其他 Parquet 读取器的兼容性。这对于提高查询性能,特别是处理高选择性谓词时,具有显著意义。文章详细解释了该方法,并提供了使用 Apache DataFusion 的示例代码。