代码之家  ›  专栏  ›  技术社区  ›  K S Nidhin

在具有ORC/Parquet文件格式的巨大配置单元表中,列具有相同值的影响

  •  0
  • K S Nidhin  · 技术社区  · 4 年前

    假设我有一个parquet hive表,第5列和第8列的值总是“HELLO”。

    1. 有重复的列数据,它是否会对稍后在此表中使用的查询产生任何性能影响。
    0 回复  |  直到 4 年前
        1
  •  1
  •   Uwe L. Korn    4 年前

    至少在Parquet文件中,列是独立压缩的。在一行中多次使用相同的值通常会得到很好的压缩,但是复制一个列也意味着所需存储的重复。

    对于拼花地板,压缩方案大致如下:

    每列,拆分成行组(通常每个文件一个,有时更多,但通常很少)。对每个行组的值进行编码(编码通常是字典编码或运行长度编码)。在16KiB/1MiB边界上大致分割编码行,称为“pages”。使用GZIP或ZStandard等通用压缩编解码器分别压缩每个页面。