Java 类org.apache.spark.api.java.JavaFutureAction 实例源码

项目:gspark    文件:JavaStatusTrackerDemo.java   
public static void main(String[] args) throws Exception {
  SparkConf sparkConf = new SparkConf().setAppName(APP_NAME);
  final JavaSparkContext sc = new JavaSparkContext(sparkConf);

  // Example of implementing a progress reporter for a simple job.
  JavaRDD<Integer> rdd = sc.parallelize(Arrays.asList(1, 2, 3, 4, 5), 5).map(
      new IdentityWithDelay<Integer>());
  JavaFutureAction<List<Integer>> jobFuture = rdd.collectAsync();
  while (!jobFuture.isDone()) {
    Thread.sleep(1000);  // 1 second
    List<Integer> jobIds = jobFuture.jobIds();
    if (jobIds.isEmpty()) {
      continue;
    }
    int currentJobId = jobIds.get(jobIds.size() - 1);
    SparkJobInfo jobInfo = sc.statusTracker().getJobInfo(currentJobId);
    SparkStageInfo stageInfo = sc.statusTracker().getStageInfo(jobInfo.stageIds()[0]);
    System.out.println(stageInfo.numTasks() + " tasks total: " + stageInfo.numActiveTasks() +
        " active, " + stageInfo.numCompletedTasks() + " complete");
  }

  System.out.println("Job results are: " + jobFuture.get());
  sc.stop();
}
项目:sqoop-on-spark    文件:LocalSparkJobStatus.java   
public LocalSparkJobStatus(JavaSparkContext sparkContext, int jobId,
        JavaFutureAction<Void> future) {
    this.sparkContext = sparkContext;
    this.jobId = jobId;
    this.future = future;
}