我有一个由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'
)
1条答案
按热度按时间jv2fixgn1#
不同的压缩设置是一种可能的解释。如果您的原始文件没有压缩或压缩与snappy可以解释它。如果不指定要使用什么压缩,雅典娜将默认为gzip,它比snappy的压缩效果更好。
如果你想得到比这更彻底的答案,你必须给我们更多的细节。你是如何创建原始文件的,它们是压缩的,什么压缩,数据是什么样子的,等等。