parquet :开源的列式存储文件格式

1. Parquet文件定义与核心概念

Parquet是一种开源的列式存储文件格式,由Twitter和Cloudera合作开发,2015年成为Apache顶级项目。其设计目标是为大数据分析提供高效存储和查询,主要特点包括:

  • 列式存储:数据按列而非按行组织,相同数据类型集中存储,显著提升分析查询效率(如仅读取部分列)。
  • 高效压缩:支持Snappy、Gzip、Zstd、LZO等算法,压缩率比行式格式(如CSV)高90%以上,大幅降低存储成本。
  • 自描述Schema:文件内嵌元数据(如数据类型、结构),确保跨系统一致性。
  • 嵌套数据支持:基于Google Dremel论文的算法处理复杂嵌套结构(如JSON/Protocol Buffers)。

2. 文件结构与技术细节

2.1 逻辑结构

Parquet文件由三部分组成:

  • Header:4字节魔术数字PAR1,标识文件格式。
  • Data Block:包含多个行组(Row Group),每个行组是数据处理的并行单元。

你可能感兴趣的:(parquet :开源的列式存储文件格式)