我刚刚开始学习hadoop。我知道partitioner决定哪个键值对将被发送到哪个reducer。我的问题是,如果只有一个减速机,是否需要分区器?我在堆垛机上看到了类似的问题,但我仍然无法理解答案。
ulmd4ohb1#
是的,当有多个缩减器时,分区器通过计算mapout键上的默认哈希函数或自定义分区键中定义的哈希函数,将map输出的keyvalue对重定向到特定的缩减器。如果只有一个reducer,则所有键值都要传输到同一个reducer,尽管存在分区器。默认分区器始终存在于mapreducer流中。
1条答案
按热度按时间ulmd4ohb1#
是的,当有多个缩减器时,分区器通过计算mapout键上的默认哈希函数或自定义分区键中定义的哈希函数,将map输出的keyvalue对重定向到特定的缩减器。如果只有一个reducer,则所有键值都要传输到同一个reducer,尽管存在分区器。默认分区器始终存在于mapreducer流中。