如何为Apache Giraph提供简单的边缘列表格式

时间:2015-03-29 16:12:33

标签: json apache graph giraph

我正在尝试使用Hadoop在Apache Giraph上运行斯坦福网络分析程序(SNAP)图表。 该链接位于http://snap.stanford.edu/snap/

下方

目前我正在尝试运行简单边缘列表格式的facebook图表 source_id destination_id .. 链接是:http://snap.stanford.edu/data/egonets-Facebook.html

我无法确定Apache Giraph接受哪种格式来运行SimpleShortestPathsCompute或任何其他Java程序来接受简单边列表格式的输入。

我成功地运行了SimpleShortestPathsCompute和PageRankComputation算法,这些算法位于Giraph包的examples文件夹中,带有JSON格式的输入文件。 [source_id,source_value,[[destination_id,edge_value],[destination_id,edge_value],..]]

1 个答案:

答案 0 :(得分:0)

对于那些在尝试运行Jar包中给出的示例Java程序时遇到问题的人。

在我的例子中,我用Java编写了一个算法,它将简单边列表格式的给定输入文件转换为基于Json的格式。

简单边列表格式具有以下形式 source_id,destination_id ......

由于我正在处理的图是无向图(即facebook snap图),因此在任何两个顶点(节点)之间写入一次的边不会再次重复。例如,如果我有一个在顶点1和20之间有边缘的图形将被写为 1 20 。 。 。 将避免使用20 1.

因此,首先按以下格式转换图形,该格式具有两个边。 由于无向图是有向图,其在由边连接的任意两个顶点之间的方向上具有有向边。 之后编写一个算法,将此格式转换为JSON格式并将输出存储在输出文件中,然后在此图上运行SingleSourceShortestPathsCompute和PageRank以及其他示例算法。