可以配置 mapreduce 程序,以便只执行 reducer 而不是 mapper [即使程序中定义了 map 函数]。这是否可以仅通过更改作业配置来实现。
我想在 mapreduce 中实现增量计算(输入作为仅附加文件)。例如
对于字数统计,
如果 wordcount 已经在一个文件上执行,之后一些更多的数据被附加到输入文件。
如果再次对更新的输入文件执行 wordcount,我只想对新数据执行 wordcount,并将旧结果与此结合。 对于这种输出组合,我想单独单独执行 reducer。
最佳答案
不,这是不可能的。 Hadoop 要求您执行map
,而reduce
是可选的。
如果你想做一个分组,你可以尝试使用 Apache Tez
并配置一个 DAG,它与你想要实现的目标相同(可能仍然很笨拙,因为你需要使用内部数据格式)。
关于hadoop - 配置 MapReduce 程序以仅在现有程序中运行 reducer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25945433/