2

私はPlayでSpark 2.0を使用しようとしています! 2.5しかし、私はそれが正常に動作するように管理していません(そしてGithubには例がないようです)。Play with Spark 2.0! 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.showNullPointerExceptionにつながります。

私はどこかに大きな問題があるので、私はそれが互換性のないバージョンから来ていると思います。ここに私の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" 
) 
+0

上記のようないくつかのコードを共有してくださいdfがdataframeであり、それがgitリポジトリに公開されていれば、そのリンクを与えることができます –

+0

私のDataframeは次のようになります: 'spark.sqlContext.read.jdbc(databaseURL、query、 connectionProperties) 'は、有効なSQLクエリです。 – Simon

+0

そしてgit repo:https://github.com/ticketapp/play2.5Spark2.0 – Simon

答えて

2

私は遊び2.5.12のjavaで火花2.0.0を使用して、同じ問題に遭遇しました。 アクティベータにはデフォルトでcom.fasterxml.jackson-databind 2.7.8が含まれているようですが、jackson-module-scalaでは動作しません。

私は

rm -r ~/.ivy2/cache 

コンパイル中に火花2.0.0は、ジャクソン・モジュールscala_2.11でコンパイルされているので、ワーリングを生み出す私の新しいbuild.sbt、私のsbtキャッシュを掃除:2.6.5を、しかし、互換性のないバージョンジャクソン:まだ2.8.7

scalaVersion := "2.11.8" 
libraryDependencies ++= Seq(
    "com.fasterxml.jackson.core" % "jackson-core" % "2.8.7", 
    "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.7", 
    "com.fasterxml.jackson.core" % "jackson-annotations" % "2.8.7", 
    "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.8.7", 
    "org.apache.spark" % "spark-core_2.11" % "2.0.0", 
    "org.apache.spark" % "spark-mllib_2.11" % "2.0.0" 
) 

jackson.databind.JsonMappingException由来NullPointerExceptionがジャクソン・モジュール・スカラ座で動作するように2つの縫い目の火付け役2.xxの をお読みくださいhttps://github.com/FasterXML/jackson-module-scala/issues/233