为什么用amazon athena复制时Parquet文件的大小会变小

qij5mzcb  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(342)

我有一个由hive填充的hive分区表,并作为parquet存储在s3上。特定分区的数据大小为3gb。然后我和雅典娜做了一个副本:

CREATE TABLE tmp_partition
AS SELECT *
FROM original_table
where hour=11

结果数据大小小于一半(1.4gb)。原因是什么?
编辑:相关配置单元表定义语句:

ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://...'
TBLPROPERTIES (
  'parquet.compress'='SNAPPY', 
  'transient_lastDdlTime'='1558011438'
)
jv2fixgn

jv2fixgn1#

不同的压缩设置是一种可能的解释。如果您的原始文件没有压缩或压缩与snappy可以解释它。如果不指定要使用什么压缩,雅典娜将默认为gzip,它比snappy的压缩效果更好。
如果你想得到比这更彻底的答案,你必须给我们更多的细节。你是如何创建原始文件的,它们是压缩的,什么压缩,数据是什么样子的,等等。

相关问题