在使用hadoop和map-reduce框架时,我认为reduce任务必须是细粒度的,以便处理它们的不同节点可以分别执行。我认为键的数量会影响任务的粒度。那么,键的数量或种类是影响效率的重要因素吗?例如,如果我只有一两把钥匙,那会是个问题吗?
ibrsph3r1#
所有相同的键都应该以同一个减速机结束,那么,如果只有一个键,那么不管您是否设置了10个减速机,您都将只使用一个减速机。其余的reducer将没有任何输出(但它们将被示例化)。这是一个名为“skew data”的大问题,您需要重新定义(并重新分配)密钥,以便能够并行运行该进程。理想情况下,数据应该分布在具有相同记录量的集合中,这意味着所有减速器将具有相同的工作负载。
1条答案
按热度按时间ibrsph3r1#
所有相同的键都应该以同一个减速机结束,那么,如果只有一个键,那么不管您是否设置了10个减速机,您都将只使用一个减速机。其余的reducer将没有任何输出(但它们将被示例化)。
这是一个名为“skew data”的大问题,您需要重新定义(并重新分配)密钥,以便能够并行运行该进程。
理想情况下,数据应该分布在具有相同记录量的集合中,这意味着所有减速器将具有相同的工作负载。