【发布时间】:2019-05-11 22:11:18
【问题描述】:
我正在使用 com.databricks.spark.avro。当我像这样从 spark-shell 运行它时:spark-shell --jar spark-avro_2.11-4.0.0.jar,我可以通过这样做来读取文件:
import org.apache.spark.sql.SQLContext
val sqlContext = new SQLContext(sc)
val avroInput = sqlContext.read.format("com.databricks.spark.avro").load(inputPath)
avroInput.write.format("com.databricks.spark.avro").save(outputPath)
但如果我尝试使用 sbt clean run 在我的项目中做同样的事情,我会得到:
java.lang.ClassNotFoundException: Failed to find data source: org.apache.spark.sql.avro.AvroFileFormat. Please find packages at http://spark.apache.org/third-party-projects.html
[info] at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:657)
[info] at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:194)
[info] at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:178)
[info] at com.databricks.spark.avro.package$AvroDataFrameReader$$anonfun$avro$2.apply(package.scala:34)
"com.databricks" %% "spark-avro" % "4.0.0" 列在我的依赖项中,它在我的外部库中。我还缺少另一个依赖项吗?
【问题讨论】:
标签: scala apache-spark avro spark-avro