.parquet
Data
Apache Parquet(列式存储)
Parquet 是一种列式存储格式,针对大数据集的分析查询进行了优化。通过按列而非按行存储数据,Parquet 实现了高效压缩和仅读取所需列的快速查询。
MIME 类型
application/vnd.apache.parquet
类型
二进制
压缩
无损
优点
- + Excellent compression through columnar encoding
- + Fast analytical queries — reads only needed columns
- + Predicate pushdown skips irrelevant row groups entirely
- + Standard in Spark, DuckDB, Pandas, and cloud data lakes
缺点
- − Not suited for transactional row-level updates
- − More complex to write than CSV or JSON
- − Schema evolution has some limitations
何时使用 .PARQUET
在数据湖、分析工作负载、Spark/Pandas 处理以及列式查询占主导的大数据集中使用 Parquet。
技术细节
Parquet 文件包含行组,每个行组分为列块,带有页级编码(字典、RLE、增量)。每列的统计信息(最小/最大值)支持谓词下推。它通过 Dremel 编码支持嵌套数据。
历史
Twitter 和 Cloudera 受 Google Dremel 论文的启发,于 2013 年创建了 Parquet。它成为 Apache 项目,现在是数据湖、Spark 和现代分析平台的默认格式。