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

2025-07-15

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

阅读更多

Apache DataFusion:一个强大的Rust编写的可扩展查询引擎

2025-01-16

Apache DataFusion是一个用Rust编写的可扩展查询引擎,它使用Apache Arrow作为其内存格式。它提供SQL和DataFrame API,支持CSV、Parquet、JSON和Avro等多种数据格式,并具有出色的性能和可定制性。DataFusion拥有完整的查询规划器、列式、流式、多线程、矢量化执行引擎以及分区数据源,几乎可以在所有方面进行定制,包括添加数据源、查询语言、函数和自定义运算符。它还拥有相关的子项目,例如DataFusion Python、DataFusion Ray和DataFusion Comet,分别提供Python接口、分布式版本和Apache Spark加速器。

阅读更多