【发布时间】:2013-03-03 17:03:55
【问题描述】:
我希望 hadoop ( 0.22.0 ) 将内容写到不同的文件中,例如
部分-r-00000
部分-r-00001
部分-r-00002
部分-r-00003
每个reduce-job都有一个不同的文件。
我知道我可以使用 MultipleOutputs-Class,但这让我只能更改“部分”短语,但这不是我想要的。我希望能够说出哪个reducer 使用哪个输出文件以及它最后得到的数字。
【问题讨论】:
-
你想打破这个漂亮的文件命名约定吗?作业完成后,您可以随时更改文件名。
-
作业完成后如何更改文件名?在减少类的清理中,文件不存在。之后我就没有任何控制权了。 -- 我已经阅读了源代码,看起来最后的数字来自 TaskID,这是 reducer 的唯一标识符。所以我尝试将减速器的数量设置为 9(我不想 part-r-00001 ... part-r-00009 ),但仍然只有 part-r-00001 :/
-
哦,伙计,这份工作。waitForCompletion 是我正在寻找的:D 非常感谢你。