【问题标题】:Separate output per file in Hadoop and Amazon EMR/S3Hadoop 和 Amazon EMR/S3 中每个文件的单独输出
【发布时间】:2014-04-19 16:51:23
【问题描述】:
我正在开展一个项目,该项目使用 Hadoop 分析书中的单词。我有一个类似于标准字数统计示例 (see here) 的程序。该程序当前计算目录中所有文件中的所有单词并将它们组合在一起。但是,我还需要为每个处理的文件获取字数和单独的输出,或者至少可以获得每个文件的字数。我该怎么做?
【问题讨论】:
标签:
hadoop
amazon-web-services
amazon-s3
hadoop-streaming
amazon-emr
【解决方案1】:
看来你在找MultipleOutputFormat
这里已经有实现代码link1 并且完整
解释和示例代码在这里link2。只需将您的输出文件映射为
输入文件名或任何你想要的,文件将得到
每个组的“/outputfolder/part-nnnnn”,名称“part”可以更改,
其中 nnnnn 是与 reduce 任务关联的分区 ID。这
无法躲避,您必须在 HDFS 上重命名/合并这些文件。