在hive中生成的parquet文件 和 impala生成的parquet文件相比,大小不一样

本文通过三个测试探讨了使用sqoop导入数据到集群后,不同处理方式对数据大小的影响。测试一显示,Impala处理后的数据文件比MR小3倍。测试二中尝试了多种Hive和MapReduce的压缩配置,但未见明显压缩效果。而在测试三中,通过特定的Hive参数设置实现了有效压缩,将数据大小压缩至34.8M。这表明正确的压缩配置对于数据存储和处理至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用sqoop抽取一批数据进入集群:

MR抽取进来的大小是187.6 M  数据量 1516513

测试一: 用impala把批数据进行插入 ,结果同样数据用户impala形成的文件占用磁盘59M,相比MR减少3倍;

测试二:

使用如下参数:

set hive.exec.dynamic.partition=true;

set hive.exec.dynamic.partition.mode=nonstrict;

set hive.exec.compress.output=true

set mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec

或者

set hive.exec.dynamic.partition=true;

set hive.exec.dynamic.partition.mode=nonstrict;

set mapred.output.compress=true

set mapred.output.compression.codec=org.apache.hadoop.io.compress.LzopCodec

或者

set mapred.output.compress=true

set mapred.output.compression.codec= org.apache.hadoop.io.compress.GzipCodec

查询impala生成的结果数据,用hive方式插入使用hive执行压缩参数进行;

查询hive生成的结果数据,用hive方式插入使用hive执行压缩参数进行;

测试结果:无压缩效果;不管是查询hive的结果还是查询impala的结果最终用hive插入新的表中;最终大小都是187.6 M

测试三: 用新的hive参数

测试结果:有压缩的效果。而且hive插入跟源数据大小没有关系,不管impala的结果还是hive操作的结果。最终用hiv插入的结果都是一样。压缩大小为34.8 M

    set hive.exec.compress.output=true;
    set mapred.output.compress=true;
   set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
    set io.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
    set mapred.output.compression.type=BLOCK;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值