【问题标题】:Created Hive table with lzo compression, cant locate file with extension .lzo使用 lzo 压缩创建 Hive 表,无法找到扩展名为 .lzo 的文件
【发布时间】:2025-11-21 21:55:01
【问题描述】:

我通过在 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解压它? 谢谢

【问题讨论】:

    标签: java mapreduce lzo hadoop-lzo


    【解决方案1】:

    如果您打算在 hdfs 上节省磁盘空间,则可以使用 Snappycodec 压缩。有一些压缩格式,如 .bz,它们是可拆分的,并通过设置某些配置单元属性,如

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

    【讨论】:

      最近更新 更多