我有包含用分号分隔的记录的csv文件。每行是一条记录。每行包含图形的边信息。这意味着一行如下所示:
Node_X;Node_Y;5
它被解释为节点 X 和 Y 之间的边或链接,权重为 5。我的映射器收到此输入。现在我想要实现的是使用节点聚合信息。
以下示例说明了我的方案:
Node_X;Node_Y;5
Node_X;Node_Z;10
Node_X;Node_A;60
Node_Y;Node_A;20
那么节点的结果应该是:
Node_X;75;Node_Y;25;Node_A;80
我想收集所有不同的节点,并赋予它们与其他节点的权重总和作为权重。
在我的映射器中,我可以读取边缘信息:
Node_X;Node_A;60
但是,我怎样才能用这条线为我的减速器制作两个钥匙呢?它应该是这样的
context.write(Node_X,60);
context.write(Node_A,60);
我怎样才能做到这一点?
感谢!
PS:边缘是无向的。
它应该是这样的
context.write(Node_X,60);
context.write(Node_A,60);
假设您在询问之前没有尝试过,那将起作用。