1

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

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

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

我成功地运行了 SimpleShortestPathsCompute 和 PageRankComputation 算法,它们位于 Giraph 包的示例文件夹中,用于 JSON 格式的输入文件。[source_id, source_value, [[destination_id, edge_value], [destination_id, edge_value],..]]

4

1 回答 1

1

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

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

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

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

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

于 2015-04-14T18:20:19.987 回答