【问题标题】:Apache giraph process graph with a custom algorithm具有自定义算法的 Apache Giraph 进程图
【发布时间】:2013-02-21 16:33:24
【问题描述】:

我有一个自定义算法来处理接受 txt 文件作为输入的图形。因为它是一个大规模图,所以我想在 apache giraph 框架中实现它。我做了很多研究,但我仍然不确定我是否走在正确的道路上。

我正在读取一个包含图形数据的 .csv 文件并使用解析器将其转换为 txt 文件并上传到 hadoop 的 HDFS 文件系统。

我已经阅读了 apache 快速入门指南中的 SimpleShortestPathsVertex 示例,我可以看到它使用 jar-with-dependencies jar 文件处理来自 HDFS 中的文件的数据。

我的问题是我还没有理解如何在 apache giraph 框架中添加我的算法并启动图形的过程。我可以使用 eclipse 将我的算法添加到 apache 框架并从那里修改它还是有任何其他方式?

谢谢!

【问题讨论】:

    标签: apache graph frameworks jar dependencies


    【解决方案1】:

    看看这里: https://cwiki.apache.org/confluence/display/GIRAPH/Shortest+Paths+Example

    你可以在哪里运行这个例子? 如果是。 熟悉 hadoop 的不同可写格式!否则很难将这些用于您的算法。

    关于图的所有计算都在 compute() 函数中完成。 (如果您更高级,请查看 workerContext preSuperstep 和 Aggregators!) 您可以更改示例,但是一旦使用其他数据类型,您就必须更改 VertexReader 和 VertexWriter。

    如果您有特定的算法,请确定计算所需的内容并指定输入文件的布局。然后调整您的 VertexReader 和 -Writer。然后最后开始实现你的 compute() 函数!

    当然你可以使用eclipse!只需引用 Giraph jar(对我来说它是“giraph-0.1-jar-with-dependencies.jar”)并开始编码。 您只需要一个特定于您的算法的这些文件的实例:

    • YourGiraphJob(启动 Hadoop/Giraph 作业的文件)
    • YourVertex(指定在每个顶点上执行的 compute() 函数)
    • YourInputFormat(指定YourReader的可写格式)
    • YourOutputFormat(指定YourWriter的可写格式)
    • YourReader(指定 inputFile 的转换方式,例如,可以使用给定信息对每一行的 Vertex 进行初始化)
    • YourWriter(指定如何从顶点生成 outputFile)

    (如果你想使用聚合器,可以选择一个 WorkerContext。)

    简单结帐:http://giraph.apache.org/source-repository.html 使用 Eclipse,您应该拥有包含示例应用程序的代码!

    【讨论】:

      猜你喜欢
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 2022-01-27
      • 2020-04-08
      • 1970-01-01
      相关资源
      最近更新 更多