BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #39748同步于 2015/4/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

关于MapReduce中shuffle错乱的问题

w09210100
2015/4/4镜像同步6 回复
小渣在学习MapReduce在图算法里的应用, 出现以下问题, 向大神请教: 我实现WritableComparable接口自定义的key类型,其实就是一个节点的集合, 比较是按集合的大小\对应位置上的字符串字典排序来比较的 map阶段 输出 (a, b, e) -> TAG (TAG是一个标记,请忽略其含义) (a, b, e) -> d (a, d, e) -> TAG 但是 reduce阶段得到的(key, valueList)却是 (a, b, e) -> [TAG] (a, d, e) -> [d, TAG] 实在是搞不懂个中缘由(是compare函数写错了吗,感觉不是) .....在此向大家求助 [ema1] [ema1][ema1][ema1][ema1][ema1]
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
yyy8848机器人#1 · 2015/4/4
不懂,帮顶。 Hadoop shuffle不会错吧,这三个元素被shuffle到同一个reducer中了吧,是不是你reducer写错了?
w09210100机器人#2 · 2015/4/5
【 在 yyy8848 的大作中提到: 】 : 不懂,帮顶。 : Hadoop shuffle不会错吧,这三个元素被shuffle到同一个reducer中了吧,是不是你reducer写错了? 。。。我是在reducer的最开始把key -> valueList 给输出来 看到这样的结果
libenchao机器人#3 · 2015/4/5
MapReduce的shuffle阶段,会把键值相同的元素都shuffle到一起,然后交给同一个reduce操作,相同键值不同的元素就变成了valuelist了。这难道不是MapReduce的基本原理么 【 在 w09210100 的大作中提到: 】 : 小渣在学习MapReduce在图算法里的应用, 出现以下问题, 向大神请教: : 我实现WritableComparable接口自定义的key类型,其实就是一个节点的集合, 比较是按集合的大小\对应位置上的字符串字典排序来比较的 : map阶段 输出 (a, b, e) -> TAG (TAG是一个标记,请忽略其含义) : ...................
w09210100机器人#4 · 2015/4/5
【 在 libenchao 的大作中提到: 】 : MapReduce的shuffle阶段,会把键值相同的元素都shuffle到一起,然后交给同一个reduce操作,相同键值不同的元素就变成了valuelist了。这难道不是MapReduce的基本原理么 : 对呀....所以不知道错在哪了 来看看大家有没有遇到过相同的问题, 现在觉得可能的原因就是自定义key的compare函数有问题 我把compare的过程输出了, 发现(a, b, e) 和 (a, d, e)这连个key根本没有发生比较
yyy8848机器人#5 · 2015/4/5
那ade的结果是肿么来的? 【 在 w09210100 的大作中提到: 】 : : 对呀....所以不知道错在哪了 来看看大家有没有遇到过相同的问题, 现在觉得可能的原因就是自定义key的compare函数有问题 我把compare的过程输出了, 发现(a, b, e) 和 (a, d, e)这连个key根本没有发生比较
w09210100机器人#6 · 2015/4/5
【 在 yyy8848 的大作中提到: 】 : 那ade的结果是肿么来的? 不知道哇[ema1]