【问题标题】:Hive Tremendous data size increase from converting avro to parquet将 avro 转换为 parquet 导致 Hive 数据量大幅增加
【发布时间】:2016-04-16 14:28:57
【问题描述】:

我想将一天的 avro 数据 (~2 TB) 转换为 parquet。

我运行了一个 hive 查询,数据成功转换为 parquet。

但是数据大小变成了 6 TB。

数据变成原来的三倍会怎样?

【问题讨论】:

  • 您是否为 Parquet 表设置了特定的压缩编解码器? AFAIK 默认使用 Snappy——CPU 成本低,但磁盘效率不高……
  • 您是否尝试过 ORC 而不是 Parquet? (默认压缩编解码器为 GZip,您可以切换到 Snappy 或 None)
  • 我忘了设置压缩属性。也许它默认是未压缩的。

标签: hadoop hive avro parquet data-formats


【解决方案1】:

通常,Parquet 比 Avro 更高效,因为它是一种列格式,相同类型的列在磁盘上相邻。这允许压缩算法在某些情况下更有效。通常我们使用 Snappy,它在 CPU 上足够、容易,并且相对于 zip 或 gzip 等其他压缩方法,它具有使其适用于 Hadoop 的几个属性。主要是 snappy 是可拆分的;每个块保留确定模式所需的信息。 MParquet 是一种很棒的格式,从 Avro 迁移后,我们对查询性能非常满意(我们还可以使用超快的 Impapla)。

【讨论】:

  • 我忘了设置压缩属性。可能默认是未压缩的。
  • 我忘了设置压缩属性。可能默认是未压缩的。
猜你喜欢
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
相关资源
最近更新 更多