Hadoop MapReduce : Two values as key in Mapper-Reducer

标签 hadoop mapreduce

如何使用两个组件构建 key ?这样做的原因是我有一个无向图。如果 A 和 B 通过通信关联(方向无关),则两个节点 A 和 B 之间存在边。此通信有一个数字参数。所以我想实现的是有一个将 A 和 B 组合在一起作为一个集合的 key ,这样 A 到 B 和 B 到 A 的通信就可以被认为是等价的,并且可以被加起来得到统计数据

说:

A B 5

B A 10

键在语义上应该是“A 或 B 在一起”,这样包含 A 和 B 作为键的集合的值应该是 5+10=15。

wordcount 示例将特定单词作为关键字。就我而言,我想将包含两个组件的集合作为关键。在 map 和 reduce 阶段,只要满足 A to B 或 B to A 就求和。

谢谢!

最佳答案

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

关于Hadoop MapReduce : Two values as key in Mapper-Reducer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893549/

相关文章:

hadoop - Pig脚本中最大的存储语句最大数量是多少?

hadoop - 为什么 Hadoop yarn(2.7.1) 中的平均合并时间为零?以及如何获得这个时间的精确度

hadoop - Map-reduce JobConf - 添加 FileInputFormat 时出错

java - MapReduce:减少写入上下文时无限期停止

hadoop: reducer 输出到另一个 reducer

java - Namenode恶魔启动错误

hadoop - 将Mahout指向HDFS而不是本地磁盘

hadoop - 名称节点支持多少并发读写?

java - 比较 Storm bolt 中的上一个和下一个元组

sql - 为什么Hive使用分区表下其他文件中的文件?