hadoop - 控制 Reducer 结果输出文件/桶

标签 hadoop

我有一个应用程序,我想让我的 reducer(我有几个用于 map/reduce 作业)根据要处理的 key 将它们的输出记录到 HDFS 上的不同文件中。因此,如果reducer 看到A 类型的键,应用reduce 逻辑但告诉Hadoop 将结果放入属于A 类型结果的hdfs 文件中,依此类推。显然,多个reducer可以输出A类型结果的不同部分,每个reducer最终可以处理任何类型,如A或B,但告诉hadoop将结果写入A类型存储桶或其他东西

这可能吗?

最佳答案

MultipleOutputs 几乎是您正在寻找的(假设您至少是 0.21 版)。在我自己的工作中,我使用了这个类的克隆,修改后的命名约定更加灵活,可以根据我想要的任何内容将输出发送到不同的文件夹/文件,包括输入记录(键或值)的各个方面。照原样,该类对您可以为输出命名的名称有一些严格的限制。

关于hadoop - 控制 Reducer 结果输出文件/桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11166343/

相关文章:

hadoop - 使用HQL将数据从一个表转移到另一个表

hadoop - Oracle 到 Hadoop 的实时数据摄取

scala - 无法在spark中使用reduceByKey((v1,v2)=> v1 + v2)scala函数计算单词

hadoop - 部分聚合与组合器哪个更快?

hadoop - 无法运行 hadoop 流作业 : Missing required options: input, 输出

java - 在hadoop中,如何获取值中的最后一个元素

java - 使用 hadoop-2.4.0 和 cygwin 的单节点集群设置

java - hadoop map reduce线程中整个reducer步骤是否安全?

Hadoop 机架感知配置

hadoop - YARN Timeline Service v2 无法启动