从这里开始:
根据hadoop权威指南“在每个分区内,后台线程执行内存中的按键排序,如果有组合器函数,则在排序的输出上运行”
我认为分区对应于一个键,因此reduce任务将减少一组只与一个键关联的值。如果只有一个键,分区不是已经排序了吗?
毕竟,在我看来,这里的答案似乎与前面的引语相矛盾:
排序为reducer节省了时间,有助于它轻松区分何时应该启动新的reduce任务。简单地说,当排序后的输入数据中的下一个键与上一个键不同时,它只启动一个新的reduce任务。
意思是reduce任务与一个键相关联,因为每个reduce任务有一个分区,所以分区与一个键相关联。那么,如果只有一个键,为什么每个分区中都必须有一个排序呢?
暂无答案!
目前还没有任何答案,快来回答吧!