У меня есть следующий код:Не удалось найти источник данных: паркет, при сборке узла SBT
val testRDD: RDD[(String, Vector)] = sc.parallelize(testArray)
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
val df = testRDD.toDF()
df.write.parquet(path)
со следующим build.sbt:
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.6.1"
libraryDependencies += "org.apache.spark" %% "spark-mllib" % "1.6.1"
// META-INF discarding
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
{
case "reference.conf" => MergeStrategy.concat
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
}
}
Когда я строю это с sbt- сборка (у меня есть addSbtPlugin ("com.eed3si9n" % "SBT-сборка" % "0.12.0")), а потом запустить его, я получаю сообщение об ошибке:
Exception in thread "main" java.lang.ClassNotFoundException: Failed to find data source: parquet. Please find packages at http://spark-packages.org
at org.apache.spark.sql.execution.datasources.ResolvedDataSource$.lookupDataSource(ResolvedDataSource.scala:77)
at org.apache.spark.sql.execution.datasources.ResolvedDataSource$.apply(ResolvedDataSource.scala:219)
at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:148)
at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:139)
at org.apache.spark.sql.DataFrameWriter.parquet(DataFrameWriter.scala:334)
at InductionService.Application$.main(ParquetTest.scala:65)
Однако, если Я создаю это с помощью IntelliJ Idea (нормальная сборка, а не толстая JAR-вещь, как с сборкой sbt), и отлаживаю ее в этой среде IDE, она действительно работает. Так ясно, что что-то не так с тем, как я это создаю, используя сборку sbt, но я не знаю, как это исправить. Есть идеи?
У меня есть подозрения, что код сбрасывания-сбрасывания в build.sbt может быть причиной, но мне нужен этот код, иначе я не могу построить с помощью sbt-assembly. (он жалуется на дубликаты ...)
У меня та же проблема с Maven-сборки-плагин – omrsin