如何解决Impala Hive 和 Spark Parquet 文件格式大小
我对impala、hive 和spark 之间的镶木地板压缩几乎没有怀疑 这是情况
- 表是 Hive,数据是使用 Impala 插入的,表大小如下,表文件扩展名为“data.0.parq” 59.0 M 177.1 M /user/hive/warehouse/database.db/tablename (parquet + 在impala 中创建)
- 在 Hive tablename_snappy 中创建的同一个表,使用 snappy 压缩设置为 TBLPROPERTIES ("parquet.compression"="SNAPPY") 使用 Tablename 将数据插入到 Hive 中(步骤 1)。 2a) 为什么桌子尺寸更大? 2b) 文件名是 000000_0(这是预期的) 64.6 M 193.7 M /user/hive/warehouse/database.db/tablename_parq(镶木地板 + 快速压缩 + 在 Hive 中创建)
- 在 spark 中,我从步骤 1 中读取了表名,并按预期进行了 saveAsTable 和文件大小的减小,文件名为 ****.snappy.parquet 39.0 M 117.1 M /user/hive/warehouse/atabase.db/tablename_spark(镶木地板 + 快速压缩 + 在 Spark 中创建)
- 在 Impala 中创建的同一表存储为 Parquet 并设置 COMPRESSION_CODEC=snappy; 没有变化,我预计表格大小应该减少,因为我应用了快速压缩。 59.0 M 177.1 M /user/hive/warehouse/database.db/tablename (parquet + 在impala 中创建)
请帮助我了解镶木地板压缩在 Impla 和 Hive 中的工作原理。
解决方法
数据大小因创建镶木地板文件时选择的默认压缩编解码器而有所不同。
它不是特定于应用程序的。
在hive表中插入数据前先试一下
set COMPRESSION_CODEC =GZip
你会发现文件被压缩得更好。
注意默认压缩是“snappy”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。