Skip to main content

描述

用于读取 Parquet 文件元数据 (https://parquet.apache.org/docs/file-format/metadata/) 的特殊格式。它始终输出一行,其结构/内容如下:
  • num_columns - 列数
  • “num_rows` - 总行数
  • num_row_groups - 行组总数
  • format_version - Parquet 格式版本,始终为 1.0 或 2.6
  • total_uncompressed_size - 数据未压缩的总字节大小,计算方式为所有行组的 total_byte_size 之和
  • total_compressed_size - 数据压缩后的总字节大小,计算方式为所有行组的 total_compressed_size 之和
  • columns - 列元数据列表,结构如下:
    • name - 列名
    • path - 列路径 (对于嵌套列,该值与 name 不同)
    • max_definition_level - 最大定义层级
    • max_repetition_level - 最大重复层级
    • physical_type - 列的物理类型
    • logical_type - 列的逻辑类型
    • compression - 此列使用的压缩方式
    • total_uncompressed_size - 该列未压缩的总字节大小,计算方式为所有行组中该列 total_uncompressed_size 之和
    • total_compressed_size - 该列压缩后的总字节大小,计算方式为所有行组中该列 total_compressed_size 之和
    • space_saved - 通过压缩节省的空间百分比,计算方式为 (1 - total_compressed_size/total_uncompressed_size)。
    • encodings - 此列使用的编码列表
  • row_groups - 行组元数据列表,结构如下:
    • num_columns - 行组中的列数
    • num_rows - 行组中的行数
    • total_uncompressed_size - 行组未压缩的总字节大小
    • total_compressed_size - 行组压缩后的总字节大小
    • columns - 列 chunk 元数据列表,结构如下:
      • name - 列名
      • path - 列路径
      • total_compressed_size - 该列压缩后的总字节大小
      • total_uncompressed_size - 行组未压缩的总字节大小
      • have_statistics - 布尔标志,表示列 chunk 元数据是否包含列统计信息
      • statistics - 列 chunk 统计信息 (如果 have_statistics = false,则所有字段均为 NULL) ,结构如下:
        • num_values - 列 chunk 中非 NULL 值的数量
        • null_count - 列 chunk 中 NULL 值的数量
        • distinct_count - 列 chunk 中不同值的数量
        • min - 列 chunk 的最小值
        • max - 列 chunk 的最大值

示例用法

示例:
最后修改于 2026年7月23日