Package org.apache.hama.graph

Examples of org.apache.hama.graph.GraphJob


      HamaConfiguration conf = new HamaConfiguration();
      conf.setInt(semiClusterMaximumVertexCount, 100);
      conf.setInt(graphJobMessageSentCount, 100);
      conf.setInt(graphJobVertexMaxClusterCount, 1);
      GraphJob semiClusterJob = new GraphJob(conf, SemiClusterJobDriver.class);
      semiClusterJob.setMaxIteration(15);

      semiClusterJob.setCompressionCodec(SnappyCompressor.class);
      semiClusterJob.setCompressionThreshold(10);

      semiClusterJob
          .setVertexOutputWriterClass(SemiClusterVertexOutputWriter.class);
      semiClusterJob.setJobName("SemiClusterJob");
      semiClusterJob.setVertexClass(SemiClusteringVertex.class);
      semiClusterJob.setInputPath(new Path(INPUT));
      semiClusterJob.setOutputPath(new Path(OUTPUT));
      semiClusterJob.set("hama.graph.self.ref", "true");
      semiClusterJob.setVertexIDClass(Text.class);
      semiClusterJob.setVertexValueClass(SemiClusterMessage.class);
      semiClusterJob.setEdgeValueClass(DoubleWritable.class);
      semiClusterJob.setInputKeyClass(LongWritable.class);
      semiClusterJob.setInputValueClass(Text.class);
      semiClusterJob.setInputFormat(TextInputFormat.class);
      semiClusterJob.setVertexInputReaderClass(SemiClusterTextReader.class);
      semiClusterJob.setPartitioner(HashPartitioner.class);
      semiClusterJob.setOutputFormat(TextOutputFormat.class);
      semiClusterJob.setOutputKeyClass(Text.class);
      semiClusterJob.setOutputValueClass(Text.class);
      semiClusterJob.setNumBspTask(3);
      long startTime = System.currentTimeMillis();
      if (semiClusterJob.waitForCompletion(true)) {
        System.out.println("Job Finished in "
            + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds");
      }
      semiClusterOutputChecker();
    } finally {
View Full Code Here


      InterruptedException, ClassNotFoundException {
    if (args.length != 2) {
      printUsage();
    }
    HamaConfiguration conf = new HamaConfiguration(new Configuration());
    GraphJob graphJob = createJob(args, conf);
    long startTime = System.currentTimeMillis();
    if (graphJob.waitForCompletion(true)) {
      System.out.println("Job Finished in "
          + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds");
    }
  }
View Full Code Here

    // NOTE: Graph modification APIs can be used only with MapVerticesInfo.
    conf.set("hama.graph.vertices.info",
        "org.apache.hama.graph.MapVerticesInfo");

    GraphJob graphJob = new GraphJob(conf, DynamicGraph.class);
    graphJob.setJobName("Dynamic Graph");
    graphJob.setVertexClass(GraphVertex.class);

    graphJob.setInputPath(new Path(args[0]));
    graphJob.setOutputPath(new Path(args[1]));

    graphJob.setVertexIDClass(Text.class);
    graphJob.setVertexValueClass(IntWritable.class);
    graphJob.setEdgeValueClass(NullWritable.class);

    graphJob.setInputFormat(TextInputFormat.class);

    graphJob.setVertexInputReaderClass(GraphTextReader.class);
    graphJob.setPartitioner(HashPartitioner.class);

    graphJob.setOutputFormat(TextOutputFormat.class);
    graphJob.setOutputKeyClass(Text.class);
    graphJob.setOutputValueClass(IntWritable.class);

    return graphJob;
  }
View Full Code Here

    }
  }

  public static GraphJob createJob(String[] args, HamaConfiguration conf)
      throws IOException {
    GraphJob maxFlow = new GraphJob(conf, PageRank.class);
    maxFlow.setJobName("MaxFlow");
    maxFlow.setMessageClass(FloatArrayWritable.class);
    maxFlow.setEdgeValueClass(FloatArrayWritable.class);
    maxFlow.setVertexClass(MaxFlowVertex.class);
    maxFlow.setInputKeyClass(FloatWritable.class);
    maxFlow.setInputValueClass(FloatArrayWritable.class);
    maxFlow.setAggregatorClass(MaxFLowAgrregator.class);
    maxFlow.setInputPath(new Path(args[0]));
    maxFlow.setOutputPath(new Path(args[1]));
    maxFlow.set("hama.graph.self.ref", "true");

    if (args.length == 3) {
      maxFlow.setNumBspTask(Integer.parseInt(args[2]));
    }
    maxFlow.setNumBspTask(3);
    maxFlow.setMaxIteration(Integer.MAX_VALUE);
    maxFlow.setVertexInputReaderClass(MaxFlowSeqReader.class);

    maxFlow.setVertexIDClass(Text.class);
    maxFlow.setVertexValueClass(FloatArrayWritable.class);
    maxFlow.setEdgeValueClass(FloatArrayWritable.class);

    maxFlow.setInputFormat(SequenceFileInputFormat.class);

    maxFlow.setPartitioner(HashPartitioner.class);
    maxFlow.setOutputFormat(TextOutputFormat.class);
    maxFlow.setOutputKeyClass(DoubleWritable.class);
    maxFlow.setOutputValueClass(FloatArrayWritable.class);
    return maxFlow;
  }
View Full Code Here

      printUsage();
      System.exit(-1);
    }

    HamaConfiguration conf = new HamaConfiguration();
    GraphJob mfmcJob = createJob(args, conf);
    long startTime = System.currentTimeMillis();
    MaxFlowVertex.OUTPUT = args[1];
    if (mfmcJob.waitForCompletion(true)) {
      System.out.println("Job Finished in "
          + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds");
    }
  }
View Full Code Here

  private static final String graphJobMessageSentCount = "semicluster.max.message.sent.count";
  private static final String graphJobVertexMaxClusterCount = "vertex.max.cluster.count";

  public static void startTask(HamaConfiguration conf) throws IOException,
      InterruptedException, ClassNotFoundException {
    GraphJob semiClusterJob = new GraphJob(conf, SemiClusterJobDriver.class);

    semiClusterJob.setCompressionCodec(SnappyCompressor.class);
    semiClusterJob.setCompressionThreshold(10);

    semiClusterJob
        .setVertexOutputWriterClass(SemiClusterVertexOutputWriter.class);
    semiClusterJob.setJobName("SemiClusterJob");
    semiClusterJob.setVertexClass(SemiClusteringVertex.class);
    semiClusterJob.setInputPath(new Path(conf.get(inputPathString)));
    semiClusterJob.setOutputPath(new Path(conf.get(outputPathString)));

    semiClusterJob.set("hama.graph.self.ref", "true");
    semiClusterJob.set("hama.graph.repair", "true");

    semiClusterJob.setVertexIDClass(Text.class);
    semiClusterJob.setVertexValueClass(SemiClusterMessage.class);
    semiClusterJob.setEdgeValueClass(DoubleWritable.class);

    semiClusterJob.setInputKeyClass(LongWritable.class);
    semiClusterJob.setInputValueClass(Text.class);
    semiClusterJob.setInputFormat(TextInputFormat.class);
    semiClusterJob.setVertexInputReaderClass(SemiClusterTextReader.class);

    semiClusterJob.setPartitioner(HashPartitioner.class);

    semiClusterJob.setOutputFormat(TextOutputFormat.class);
    semiClusterJob.setOutputKeyClass(Text.class);
    semiClusterJob.setOutputValueClass(Text.class);

    long startTime = System.currentTimeMillis();
    if (semiClusterJob.waitForCompletion(true)) {
      System.out.println("Job Finished in "
          + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds");
    }
  }
View Full Code Here

    if (args.length < 3)
      printUsage();

    // Graph job configuration
    HamaConfiguration conf = new HamaConfiguration();
    GraphJob ssspJob = new GraphJob(conf, SSSP.class);
    // Set the job name
    ssspJob.setJobName("Single Source Shortest Path");

    conf.set(START_VERTEX, args[0]);
    ssspJob.setInputPath(new Path(args[1]));
    ssspJob.setOutputPath(new Path(args[2]));

    if (args.length == 4) {
      ssspJob.setNumBspTask(Integer.parseInt(args[3]));
    }

    ssspJob.setVertexClass(ShortestPathVertex.class);
    ssspJob.setCombinerClass(MinIntCombiner.class);
    ssspJob.setInputFormat(TextInputFormat.class);
    ssspJob.setInputKeyClass(LongWritable.class);
    ssspJob.setInputValueClass(Text.class);

    ssspJob.setPartitioner(HashPartitioner.class);
    ssspJob.setOutputFormat(TextOutputFormat.class);
    ssspJob.setVertexInputReaderClass(SSSPTextReader.class);
    ssspJob.setOutputKeyClass(Text.class);
    ssspJob.setOutputValueClass(IntWritable.class);
    // Iterate until all the nodes have been reached.
    ssspJob.setMaxIteration(Integer.MAX_VALUE);

    ssspJob.setVertexIDClass(Text.class);
    ssspJob.setVertexValueClass(IntWritable.class);
    ssspJob.setEdgeValueClass(IntWritable.class);

    long startTime = System.currentTimeMillis();
    if (ssspJob.waitForCompletion(true)) {
      System.out.println("Job Finished in "
          + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds");
    }
  }
View Full Code Here

      InterruptedException, ClassNotFoundException {
    if (args.length < 2)
      printUsage();

    HamaConfiguration conf = new HamaConfiguration(new Configuration());
    GraphJob job = new GraphJob(conf, MindistSearchVertex.class);
    job.setJobName("Mindist Search");

    job.setVertexClass(MindistSearchVertex.class);
    job.setInputPath(new Path(args[0]));
    job.setOutputPath(new Path(args[1]));
    // set the min text combiner here
    job.setCombinerClass(MinTextCombiner.class);

    // set the defaults
    job.setMaxIteration(30);
    if (args.length == 4)
      job.setNumBspTask(Integer.parseInt(args[3]));
    if (args.length >= 3)
      job.setMaxIteration(Integer.parseInt(args[2]));

    job.setVertexIDClass(Text.class);
    job.setVertexValueClass(Text.class);
    job.setEdgeValueClass(NullWritable.class);

    job.setInputKeyClass(LongWritable.class);
    job.setInputValueClass(Text.class);
    job.setInputFormat(TextInputFormat.class);
    job.setVertexInputReaderClass(MindistSearchCountReader.class);
    job.setPartitioner(HashPartitioner.class);
    job.setOutputFormat(TextOutputFormat.class);
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(Text.class);

    long startTime = System.currentTimeMillis();
    if (job.waitForCompletion(true)) {
      System.out.println("Job Finished in "
          + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds");
    }
  }
View Full Code Here

    if (args.length < 2)
      printUsage();

    // Graph job configuration
    HamaConfiguration conf = new HamaConfiguration();
    GraphJob inlinkJob = new GraphJob(conf, InlinkCount.class);
    // Set the job name
    inlinkJob.setJobName("Inlink Count");

    inlinkJob.setInputPath(new Path(args[0]));
    inlinkJob.setOutputPath(new Path(args[1]));

    if (args.length == 3) {
      inlinkJob.setNumBspTask(Integer.parseInt(args[2]));
    }

    inlinkJob.setVertexClass(InlinkCount.class);
    inlinkJob.setInputFormat(TextInputFormat.class);
    inlinkJob.setInputKeyClass(LongWritable.class);
    inlinkJob.setInputValueClass(Text.class);

    inlinkJob.setVertexIDClass(Text.class);
    inlinkJob.setVertexValueClass(IntWritable.class);
    inlinkJob.setEdgeValueClass(NullWritable.class);
    inlinkJob.setVertexInputReaderClass(InlinkCountTextReader.class);

    inlinkJob.setPartitioner(HashPartitioner.class);
    inlinkJob.setOutputFormat(SequenceFileOutputFormat.class);
    inlinkJob.setOutputKeyClass(Text.class);
    inlinkJob.setOutputValueClass(IntWritable.class);

    long startTime = System.currentTimeMillis();
    if (inlinkJob.waitForCompletion(true)) {
      System.out.println("Job Finished in "
          + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds");
    }
  }
View Full Code Here

    if (args.length < 2) {
      printUsage();
    }

    HamaConfiguration conf = new HamaConfiguration(new Configuration());
    GraphJob job = new GraphJob(conf, BipartiteMatching.class);

    // set the defaults
    job.setMaxIteration(30);
    job.setNumBspTask(2);
    conf.set(SEED_CONFIGURATION_KEY, System.currentTimeMillis() + "");

    if (args.length == 5)
      conf.set(SEED_CONFIGURATION_KEY, args[4]);
    if (args.length >= 4)
      job.setNumBspTask(Integer.parseInt(args[3]));
    if (args.length >= 3)
      job.setMaxIteration(Integer.parseInt(args[2]));

    job.setJobName("BipartiteMatching");
    job.setInputPath(new Path(args[0]));
    job.setOutputPath(new Path(args[1]));

    job.setVertexClass(BipartiteMatchingVertex.class);
    job.setVertexIDClass(Text.class);
    job.setVertexValueClass(TextPair.class);
    job.setEdgeValueClass(NullWritable.class);

    job.setInputKeyClass(LongWritable.class);
    job.setInputValueClass(Text.class);
    job.setInputFormat(TextInputFormat.class);
    job.setVertexInputReaderClass(BipartiteMatchingVertexReader.class);
    job.setPartitioner(HashPartitioner.class);
    job.setOutputFormat(TextOutputFormat.class);
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(TextPair.class);

    long startTime = System.currentTimeMillis();
    if (job.waitForCompletion(true)) {
      System.out.println("Job Finished in "
          + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds");
    }
  }
View Full Code Here

TOP

Related Classes of org.apache.hama.graph.GraphJob

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.