【发布时间】:2014-12-19 00:58:04
【问题描述】:
我对洗牌何时开始有疑问。
假设我有 2 个映射器和 1 个减速器。每个映射器都会生成输出 map1 和 map2。这个map1和map2分别存放在各自datanode的临时磁盘中。
现在 reducer 应该等待 map1 和 map2 的输出吗?换句话说,洗牌什么时候开始? map1 完成后,还是必须等待 map2 完成?
我正在收听 reducer 的 shuffle 流量,我找不到任何流量,但控制台输出显示已经完成了 70%(大约)的 reduce。
14/12/18 17:45:55 INFO mapred.JobClient: map 97% reduce 22%
14/12/18 17:45:58 INFO mapred.JobClient: map 98% reduce 22%
14/12/18 17:45:59 INFO mapred.JobClient: map 99% reduce 22%
14/12/18 17:46:07 INFO mapred.JobClient: map 100% reduce 22%
14/12/18 17:46:12 INFO mapred.JobClient: map 100% reduce 67%
14/12/18 17:46:15 INFO mapred.JobClient: map 100% reduce 71%
我看到在此之后会出现混乱的交通流量。
我在这里有点困惑。这大约 70% 的减速机功是多少? !
谢谢
【问题讨论】:
标签: hadoop mapreduce hdfs cloudera-cdh