有没有办法控制Hadoop Streaming作业的输出文件名?具体来说,我希望我的作业的输出文件内容和名称由reducer输出组织 - 每个文件只包含一个键的值,其名称将是键.
更新:刚刚找到答案 - 使用派生自MultipleOutputFormat的Java类作为作业输出格式允许控制输出文件名. http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/mapred/lib/MultipleOutputFormat.html
我还没有看到任何样本......有人能指出使用自定义输出格式Java类的Hadoop Streaming示例吗?
使用派生自MultipleOutputFormat的Java类作为作业输出格式允许控制输出文件名.http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/mapred/lib/MultipleOutputFormat.html
使用Hadoop Streaming时,由于只支持一个JAR,你实际上必须分叉流jar并将新的输出格式类放入其中以便流媒体作业能够引用它...
编辑: 从hadoop版本0.20.2开始,此类已被弃用,您现在应该使用: http: //hadoop.apache.org/docs/mapreduce/current/api/org/apache/hadoop/mapreduce/lib/output /MultipleOutputs.html