我有包含用分号分隔的记录的 csv 文件。每行是一个记录。每条线都包含图的边缘信息。这意味着一行如下所示:
节点_X;节点_Y;5
它被解释为权重为 5 的节点 x 和 y 之间的边或链接。我的映射器得到这个输入。现在我想要实现的是使用节点聚合信息。
以下示例说明了我的场景:
节点_X;节点_Y;5
节点_X;节点_Z;10
节点_X;节点_A;60
节点_Y;节点_A;20
那么节点的结果应该是:
节点_X;75; 节点_Y;25; 节点_A;80
我想收集所有不同的节点,并将它们与其他节点的权重之和作为权重。
在我的映射器中,我可以读取边缘信息:
节点_X;节点_A;60
但是我怎样才能从这条线上为我的减速器制作两个键呢?它应该是这样的
context.write(Node_X,60);
context.write(Node_A,60);
我怎样才能做到这一点?
谢谢!
PS:边缘是无向的。