Parquet 文件压缩

问题描述 投票:0回答:4

在 Spark 中使用 Parquet 文件时最优化的压缩逻辑是什么?另外,使用每种压缩类型进行压缩后,1GB parquet 文件的大约大小是多少?

apache-spark compression parquet
4个回答
0
投票

Refer here for Size Difference between all the compress & uncompress

  1. ORC:如果您在 Hive 中创建 ORC 表,则无法从 Impala 插入该表,因此您必须在 Hive 中插入,然后在 Impala 中 REFRESH table_name
  2. Avro:据我所知,它与ORC相同
  3. Parquet:您可以在 Hive 中创建一个表并从 Impala 插入它

0
投票

这取决于你拥有什么样的数据;文本通常压缩得很好,随机时间戳或浮点值则不太好。

查看最新 Apache 大数据会议上的 此演示文稿,尤其是幻灯片 15-16,其中显示了测试数据集上每列的压缩结果。
[Pres 的其余部分。关于应用于 Parquet 内部结构的压缩理论与实践]


0
投票

就我而言,压缩似乎增加了文件大小。因此,它本质上使文件变得更大且不可读。如果没有完全理解 Parquet 并将其用于小文件,那么 Parquet 真的很糟糕。因此,如果可以的话,我建议您切换到 avaro 文件格式。


-1
投票

您可以尝试以下步骤在 Spark 中压缩 parquet 文件:

第一步:设置压缩类型,配置spark.sql.parquet.compression.codec属性:

sqlContext.setConf(“spark.sql.parquet.compression.codec”,“编解码器”)

第2步:指定编解码器值。支持的编解码器值为:uncompressed、gzip、lzo和snappy。默认为 gzip。

然后创建一个数据框,从您的数据中说出 Df 并使用以下命令保存它: df.write.parquet(“path_destination”) 如果您现在检查目标文件夹,您可能会看到文件已使用您在上面的步骤 2 中指定的压缩类型存储。

更多详情请参考以下链接: https://www.cloudera.com/documentation/enterprise/5-8-x/topics/spark_parquet.html

© www.soinside.com 2019 - 2024. All rights reserved.