1

这是我用来读取、过滤和压缩 bzip2 中的数据的 pig 脚本,但我得到的是 .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

谢谢你的帮助..

4

2 回答 2

1

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

感谢 Koji/John 的时间和宝贵的投入。

Koji 根据您的建议,我们有较旧的设计,并且一切都使用 bzip2,因此在下次升级时可以更改为 Lzo :)

于 2018-10-31T04:46:50.047 回答
-1

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

store filteredFile into '/dl/myfolder/compressdata.bz2/' USING PigStorage('|');
于 2018-10-08T21:00:06.817 回答