hadoop 是使用 Giraph 所必需的吗

is hadoop necessary for using Giraph

我想使用 Giraph 作为我工作的图形处理工具。我熟悉 Mahout,我知道我可以在不使用 Hadoop 的情况下使用 Mahout 的某些部分,例如推荐系统。但是,我不知道这对于Giraph是否也是一样的,我是否可以在不使用Hadoop的情况下使用它。

您需要 Hadoop 才能 运行 Giraph,因为单个任务(master 和 worker)在内部作为 map-only 作业执行。或者,您也可以 运行 Giraph 作为 yarn 应用程序。

如果遇到麻烦,请查看giraph quick start guide and search the mailing list

你需要Hadoop依赖,但是你不需要Hadoop集群,甚至不需要伪分布式集群。本书第5章Practical Graph Analytics with Apache Giraph shows an example for this - the source code is available on GitHub.

需要以下依赖项:

  • org.apache.giraph:giraph-core:1.1.0
  • org.apache.hadoop:hadoop-core: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);