java.lang.InterruptedException при создании SparkSession в Scala - PullRequest
0 голосов
/ 24 мая 2018

Если я клонирую этот гист: https://gist.github.com/jamiekt/cea2dab3ea8de91489b31045b302e011

, а затем выдаю sbt run, он выходит из строя на линии

val spark = SparkSession.builder()
                        .config(new SparkConf().setMaster("local[*]"))
                        .enableHiveSupport()
                        .getOrCreate()

с ошибкой:

Java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.reportInterruptAfterWait (AbstractQueuedSynchronizer.java:2014)

Понятия не имею, почему это может происходить.Кто-нибудь получил предложение?

Версия Scala - 2.11.12 (см. build.sbt в сущности)
Версия Spark - 2.3.0 (снова см. В build.sbt )
Версия Java

$ java -version
java version "1.8.0_161"

1 Ответ

0 голосов
/ 24 мая 2018

Ошибка в том, что вы не остановили созданный экземпляр sparkSession , и экземпляр был удален из памяти без закрытия сразу после завершения sbt run, то есть после успешного завершения вашего кода.

Таким образом, все, что вам нужно, это

  spark.stop()

в конце области, в которой экземпляр создается как

object Application extends App{
  import DataFrameExtensions_._
  val spark = SparkSession.builder().config(new SparkConf().setMaster("local[*]")).enableHiveSupport().getOrCreate()
  //import spark.implicits._
  //val df = Seq((8, "bat"),(64, "mouse"),(-27, "horse")).toDF("number", "word")
  //val groupBy = Seq("number","word")
  //val asAt = LocalDate.now()
  //val joinedDf = Seq(df.featuresGroup1(_,_), df.featuresGroup2(_,_)).map(_(groupBy, asAt)).joinDataFramesOnColumns(groupBy)
  //joinedDf.show

  spark.stop()
}

Непосредственно перед

Java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)

Вы также должны иметь следующее сообщение

ERROR Utils: uncaught error in thread SparkListenerBus, stopping SparkContext

который дает ключ к объяснению причины ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...