Pig无法创建.bz2文件,但创建.deflate文件

时间:2018-09-24 18:46:15

标签: hdfs apache-pig deflate bzip2 hdp

这是由Pig脚本编写的,我正在读取,过滤并压缩bzip2中的数据,但我得到的是.deflate文件而不是.bz2。

set output.compression.enabled true;
set output.compression.codec org.apache.hadoop.io.compress.BZip2Codec;
inputFile = LOAD '/dl/myfolder/' using PigStorage('|') AS (col1,col2,col3,col4,col5,clo6,col7,col8,col9,col10);
filteredFile = FILTER inputFile BY col7 is not null;
store filteredFile into '/dl/myfolder/compressdata/' USING PigStorage('|');

Output file /dl/myfolder/compressdata/part-m-00000.deflate

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

遗憾的是无法更新,因为从枢纽升级到Hortonworks时我们遇到了这个问题。并发现 mapreduce.map.output.compress = true mapreduce.output.fileoutputformat.compress = true 这些将覆盖会话中的输出格式并始终进行压缩。 将它们设置为false后,我们得到了所需的输出

感谢Koji / John的宝贵时间和宝贵的意见。

Koji的建议是,我们采用的是较旧的设计,并且所有内容都使用bzip2,因此在下一次升级时可以更改为Lzo:)

答案 1 :(得分:-1)

请尝试将输出目录名称更改为以bz2(或bz)结尾。

store filteredFile into '/dl/myfolder/compressdata.bz2/' USING PigStorage('|');