mapreduce程序是否可以配置为只执行reducer而不执行mapper[即使程序中定义了map函数]。仅通过更改作业配置就可以实现这一点。我想在mapreduce中实现增量计算(输入为仅附加文件)。例如对于wordcount,如果wordcount已经在一个文件上执行,那么在这个文件之后会有更多的数据附加到输入文件中。如果对更新的输入文件再次执行wordcount,我只想对新数据执行wordcount,并将旧结果与此合并。对于这种输出组合,我想单独执行reducer。
8aqjt8rx1#
不,这是不可能的。hadoop要求您 map ,而 reduce 是可选的。如果你想做一个小组,你可以尝试使用 Apache Tez 并配置一个与您想要归档的内容相同的dag(可能仍然有问题,因为您需要使用内部数据格式)。
map
reduce
Apache Tez
ccgok5k52#
是的,你可以!,将此代码用作Map器(python\u版本) import sys for i in sys.stdin: print i 这样就可以了,因为Map器是必须的。所以只要用虚拟Map器打印输入的内容就行了我想这有帮助!
import sys for i in sys.stdin: print i
2条答案
按热度按时间8aqjt8rx1#
不,这是不可能的。hadoop要求您
map
,而reduce
是可选的。如果你想做一个小组,你可以尝试使用
Apache Tez
并配置一个与您想要归档的内容相同的dag(可能仍然有问题,因为您需要使用内部数据格式)。ccgok5k52#
是的,你可以!,将此代码用作Map器(python\u版本)
import sys for i in sys.stdin: print i
这样就可以了,因为Map器是必须的。所以只要用虚拟Map器打印输入的内容就行了我想这有帮助!