这是由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
感谢您的帮助。
答案 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('|');