【问题标题】:Conversion of graph data from Edge Input Format to Vertex Input Format图数据从边输入格式到顶点输入格式的转换
【发布时间】:2017-01-02 15:12:51
【问题描述】:

我正在试验 Giraph。要在 Giraph 中运行算法,我需要图形数据采用顶点输入格式。几乎所有可用的在线大数据都是边缘列表格式。我用 Java 编写了一个代码来将此 Edge List 格式转换为 VertexInputFormat。这适用于具有近 800k 边的较小图。但是,对于我需要的图表,每次运行程序时都会出现 Heap space exceeded 错误。我尝试将堆大小增加到最大值。错误仍然存​​在。

我正在运行的文件大小约为 15GB。

我不太了解算法(PageRank、SingleSourceShortestPath 等)是如何用 Giraph 编写的,但我知道它们都将 VertexInputFormat 中的图形作为输入。

我正在寻找的帮助是:

  1. 将 EdgeInputFormat 转换为 VertexInputFormat(或)的优化代码
  2. 任何可以帮助进行此转换(或)的在线工具
  3. 以 EdgeInputFormat 作为输入的 PageRank 算法。

【问题讨论】:

    标签: java hadoop graph giraph bigdata


    【解决方案1】:

    抱歉,我没明白你为什么只想使用 VertexInputFormat,Giraph 也提供 EdgeInputFormat API,你为什么不能使用它?

    【讨论】:

    • 我从官方页面下载了 Giraph,它已经编译好了,并且有一个可用的 Snapshot。我知道这是默认实现的所有算法的快照。它们也可以在$GIRAPH_HOME/giraph-examples/../org/apache/giraph/examples 文件夹中找到。此文件夹中的所有算法都以 VertexInputFormat 输入。您提到了 EdgeInputFormat API。你能提供更多的见解吗?感谢您的关心。
    • 您可以检查 giraph-core/.../org/apache/giraph/io/formats 文件夹中所有可用的输入格式,何时运行程序,您只需说 -eif (eif 代表边缘输入格式)和 -eip (边缘输入路径)而不是 -vif 和 -vip。您还可以实现自己的输入格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 2021-01-22
    • 2023-02-13
    • 2017-11-26
    • 1970-01-01
    • 2017-05-26
    • 2017-09-30
    相关资源
    最近更新 更多