Hadoop MapReduce:两个值是Mapper-Reducer中的关键

时间:2012-06-05 07:52:11

标签: hadoop mapreduce

如何使用两个组件构建密钥?原因是我有一个无向图。如果A和B通过通信关联(方向不相关),则在两个节点A和B之间存在边缘。该通信具有数字参数。所以我想要实现的是拥有一个将A和B组合在一起作为一个集合的密钥,这样从A到B和B到A的通信可以被认为是等价的并且可以总结得到统计数据

说:

A B 5

B A 10

然后键应该在语义上" A或B在一起",这样包含A和B作为键的集合应该具有值5 + 10 = 15。

wordcount示例具有特定单词的关键字。在我的情况下,我想拥有一个包含两个组件的密钥。在地图和减少阶段期间,我想总结只要A到B或B到A满足。

THX!

2 个答案:

答案 0 :(得分:2)

您需要具有自己的比较规则的自定义键。 你通过在包含图形链接信息的类上实现WritableComparable来实现它。 这是示例/解释: http://developer.yahoo.com/hadoop/tutorial/module5.html#keytypes

答案 1 :(得分:0)

除了David的(正确)答案之外:如果您的问题与图表有关,那么也请查看http://incubator.apache.org/giraph/