Я пытаюсь использовать Spark 2.0 с Play! 2.5, но мне не удается заставить его работать должным образом (и, похоже, в Github нет примера).Spark 2.0 с Play! 2.5
У меня нет ошибок компиляции, но у меня есть некоторые странные ошибки при исполнении.
Например: Почти все операции на Dataset
или Dataframe
приводит к NullPointerException
:
val ds: Dataset[Event] = df.as[Event]
println(ds.count()) //Works well and prints the good results
ds.collect() // --> NullPointerException
ds.show
также приводит к NullPointerException
.
Так что у меня есть большая проблема, и я думаю, что она исходит из несовместимых версий. Вот соответствующая часть моей build.sbt
:
object Version {
val scala = "2.11.8"
val spark = "2.0.0"
val postgreSQL = "9.4.1211.jre7"
}
object Library {
val sparkSQL = "org.apache.spark" %% "spark-sql" % Version.spark
val sparkMLLib = "org.apache.spark" %% "spark-mllib" % Version.spark
val sparkCore = "org.apache.spark" %% "spark-core" % Version.spark
val postgreSQL = "org.postgresql" % "postgresql" % Version.postgreSQL
}
object Dependencies {
import Library._
val dependencies = Seq(
sparkSQL,
sparkMLLib,
sparkCore,
postgreSQL)
}
lazy val root = (project in file("."))
.settings(scalaVersion := Version.scala)
.enablePlugins(PlayScala)
libraryDependencies ++= Dependencies.dependencies
dependencyOverrides ++= Set(
"com.fasterxml.jackson.core" % "jackson-databind" % "2.7.4",
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.7.4"
)
вы можете поделиться другим кодом, как в приведенном выше df, является dataframe, и если он находится в публичном git repo, вы можете дать ссылку –
Я получаю свой Dataframe следующим образом: 'spark.sqlContext.read.jdbc (databaseURL, query, connectionProperties) 'были запросом, является допустимым SQL-запросом. – Simon
И git repo: https://github.com/ticketapp/play2.5Spark2.0 – Simon