使用gzip作为缩减器会产生损坏的数据

vh0rcniy  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(322)

当我像这样运行hadoop流媒体时:

hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-streaming.jar 
       -Dmapred.reduce.tasks=16
       -input foo
       -output bar
       -mapper "python zot.py"
       -reducer gzip

我在输出目录中得到16个文件,唉,它们已经损坏了:

$ hadoop fs -get bar/part-00012
$ file part-00012
gzip compressed data, from Unix
$ cat part-00012 | gunzip >/dev/null

gzip: stdin: invalid compressed data--format violated

当我检查 cat part-00012 | gunzip 从视觉上看,我看到的部分,看起来有点正确,然后相当错误,然后 gunzip 死了。
为什么文件会损坏?
另外,我知道我可以把我的数据集分裂成一小部分gzip压缩文件使用 mapred.output.compress=true .
pps公司。这是给大众的。

ttvkxqim

ttvkxqim1#

您需要在jobconf设置中直接使用output.compress。不需要通过gzip发送。看看我对你另一个问题的回答。

相关问题