Ошибка в том, что вы не остановили созданный экземпляр 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
который дает ключ к объяснению причины ошибки.