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

How to give simple edge list format for Apache Giraph

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

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

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

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

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

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

简单的边列表格式有如下形式 source_id、destination_id ...

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

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