加载中...

Apache Parquet 是面向分析场景的开源列式存储文件格式,2013 年由 Twitter 与 Cloudera 联合发起,现为 Apache 顶级项目,已成为大数据与数据湖生态的事实标准格式。
Parquet 按列组织数据:文件划分为行组(row group),行组内每列独立存储为列块(column chunk),再切分为页(page)。同列数据类型一致、相似度高,可采用字典编码、RLE、位打包等编码并叠加压缩(snappy、zstd 等),压缩比远高于行式格式。文件页脚记录各列块的统计信息(min/max、空值数),查询引擎据此做谓词下推,跳过无关行组;列裁剪则只读取查询涉及的列。嵌套数据结构采用 Google Dremel 论文的定义层级/重复层级(definition/repetition level)编码。
Spark、Hive、Presto/Trino、DuckDB、Pandas 等均原生支持;Delta Lake、Iceberg、Hudi 三大数据湖表格式都以 Parquet 为底层文件。

登录 后参与讨论
暂无讨论,来发表第一条评论吧