From 3eca8d2947273f9e553e433cb32f4424a99b159b Mon Sep 17 00:00:00 2001 From: Yin Huai Date: Fri, 22 May 2015 12:41:55 -0700 Subject: [PATCH] Add a method to wait for the finish of the experiment (waitForFinish). --- .../databricks/spark/sql/perf/runBenchmarks.scala | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/scala/com/databricks/spark/sql/perf/runBenchmarks.scala b/src/main/scala/com/databricks/spark/sql/perf/runBenchmarks.scala index 41d09c9..fb4d69a 100644 --- a/src/main/scala/com/databricks/spark/sql/perf/runBenchmarks.scala +++ b/src/main/scala/com/databricks/spark/sql/perf/runBenchmarks.scala @@ -16,13 +16,14 @@ package com.databricks.spark.sql.perf +import scala.concurrent._ +import scala.concurrent.duration._ +import scala.concurrent.ExecutionContext.Implicits.global + import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.{Path, FileSystem} import org.apache.spark.sql.SQLContext -import scala.concurrent._ -import scala.concurrent.ExecutionContext.Implicits.global - /** * The configuration used for an iteration of an experiment. * @param sparkVersion The version of Spark. @@ -256,6 +257,11 @@ abstract class Dataset( resultsTable } + /** Waits for the finish of the experiment. */ + def waitForFinish(timeoutInSeconds: Int) = { + Await.result(resultsFuture, timeoutInSeconds.seconds) + } + /** Returns results from an actively running experiment. */ def getCurrentResults() = { val tbl = sqlContext.createDataFrame(currentResults)