是否可以根据密钥将减速器输出发送到多个文件?像,
if(key1)
{
//output to file1 using context.write() or otherwise
}
else
{
//output to file2 using context.write() or otherwise
}
你应该能够在你的 reducer 中使用条件逻辑和MultipleOutputs
类来实现你想要做的事情。他们在链接的 javadoc 中有一个如何执行此操作的示例。
另一种可能的方法是实现自定义Partitioner。这样,一个人可以只运行两个(多个)reducer 并根据键的值进行相应的分区。