使用hadoop流处理gzip文件

5q4ezhmt  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(404)

我看到许多关于将hadoopmapreduce结果输出为gzip格式或任何其他压缩格式的帖子。但是,我不太了解hadoop流是如何读取(输入)压缩格式的。我看到一些关于使用 -jobconf stream.recordreader.compression=gzip http://mail-archives.apache.org/mod_mbox/hadoop-common-user/200907.mbox/%3c73e5a5310907141349k3329c5cua4bb58fcf103522@mail.gmail.com%3e 做输入部分。目前,我正在ubuntu lts 12.04上使用cloudera cdh 5。用python编写mapper和reducer。

ukdjmx9f

ukdjmx9f1#

不需要额外的命令行参数,hadoop流作业本机支持gzip输入。gzip文件将被自动检测和解压缩。只需使用-input选项传递gzip文件。下面是一个非常简单的例子: $ hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar -input /user/johndoe/test_input.gz -output /user/johndoe/output -mapper /bin/cat -reducer /usr/bin/wc 在输入方面,使用pythonMap器和reducer不会改变任何东西。
我已经注意到但尚未解决的一个警告:将gzip输入与 -inputreader "StreamXmlRecordReader,begin=page,end=/page" 选项不产生输出。

相关问题