我有一个由Hive填充并以Parquet形式存储在S3上的Hive分区表。特定分区的数据大小为3GB。然后,我用Athena复制副本:
CREATE TABLE tmp_partition
AS SELECT *
FROM original_table
where hour=11
结果数据大小小于一半(1.4 GB)。可能是什么原因?
编辑:相关的配置单元表定义语句:
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'
)
答案 0 :(得分:1)
不同的压缩设置是一种可能的解释。如果您的原始文件没有被Snappy压缩或压缩,则可以解释它。如果您未指定使用哪种压缩方式,则雅典娜将默认使用gzip,其压缩率比Snappy好。
如果您想获得更彻底的答案,则必须向我们提供更多详细信息。您是如何创建原始文件的,压缩的文件,压缩的文件,数据是什么样的等等。