Mein ganzer build.sbt ist:Spark-Unit Testing
name := """sparktest"""
version := "1.0.0-SNAPSHOT"
scalaVersion := "2.11.8"
scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8", "-Xexperimental")
parallelExecution in Test := false
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "2.0.2",
"org.apache.spark" %% "spark-sql" % "2.0.2",
"org.apache.avro" % "avro" % "1.8.1",
"org.scalatest" %% "scalatest" % "3.0.1" % "test",
"com.holdenkarau" %% "spark-testing-base" % "2.0.2_0.4.7" % "test"
)
ich einen einfachen Test haben. Offensichtlich ist dies nur ein Ausgangspunkt, würde Ich mag mehr testen:
package sparktest
import com.holdenkarau.spark.testing.DataFrameSuiteBase
import org.scalatest.FunSuite
class SampleSuite extends FunSuite with DataFrameSuiteBase {
test("simple test") {
assert(1 + 1 === 2)
}
}
Ich betreibe sbt clean test
und einen Fehler bekommen:
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf$ConfVars
Für meine Dev-Umgebung, ich bin die Verwendung von spark-2.0.2-bin-hadoop2.7.tar.gz
Muss ich diese Umgebung in irgendeiner Weise konfigurieren? Offensichtlich ist HiveConf eine transitive Spark-Abhängigkeit
Ich denke, Sie müssen '" org.apache.spark "%%" spark-hive "%" 2.0.2 "' zu Ihren Abhängigkeiten explizit hinzufügen. –