我通过在hive命令提示符下设置以下属性来创建Hive表:
SET mapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzopCodec
SET hive.exec.compress.output=true
SET mapreduce.output.fileoutputformat.compress=true
创建表语句:
create external table dept_comp1(id bigint,code string,name string) LOCATION '/users/JOBDATA/comp' ;
insert overwrite table dept_comp select * from src__1;
现在我转到这个位置/ users / JOBDATA / comp并找到一个名为000000_0.deflate的文件
我不确定这是压缩文件,但是当我下载它时,它是不可读的。如果是,那为什么它没有.lzo扩展名呢?
如果不是,我在哪里可以找到.lzo文件?
最后我如何使用java解压缩它? 感谢
答案 0 :(得分:-4)
如果您打算在hdfs上保存磁盘空间,可以使用Snappycodec Compression。有一些压缩格式,如.bz可以拆分,并通过设置某些配置单元属性,如
SET hive.exec.compress.output=true;
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
SET mapred.output.compression.type=BLOCK;