使用Giraph是必要的

时间:2015-07-14 22:55:50

标签: hadoop graph giraph

我想将Giraph用作我工作的图形处理工具。我熟悉Mahout,我知道我可以使用Mahout的某些部分,例如推荐系统而不使用Hadoop。但是,我不知道Giraph是否相同,是否可以在不使用Hadoop的情况下使用它。

2 个答案:

答案 0 :(得分:1)

您需要Hadoop才能运行Giraph,因为单个任务(master和worker)在内部执行为仅映射作业。或者,您也可以将Giraph作为纱线应用程序运行。

如果您遇到麻烦,请查看giraph quick start guide并搜索mailing list

答案 1 :(得分:0)

您需要Hadoop依赖项,但您不需要Hadoop集群,甚至不需要伪分布式集群。本书的第5章Practical Graph Analytics with Apache Giraph显示了一个示例 - 源代码可在GitHub上找到。

需要以下依赖项:

  • org.apache.giraph:giraph核:1.1.0
  • org.apache.hadoop:Hadoop的核心:1.2.1

将您的计算实现为BasicComputation的子类并运行它as follows

String[] graphSeed = new String[] { "seed\t0" }

GiraphConfiguration conf = new GiraphConfiguration();
conf.setComputationClass(GenerateTwitterParallel.class);
conf.setVertexInputFormatClass(
    TextDoubleDoubleAdjacencyListVertexInputFormat.class);
conf.setVertexOutputFormatClass(
    AdjacencyListTextVertexOutputFormat.class);
Iterable<String> results =
    InternalVertexRunner.run(conf, graphSeed);