Spark 2.0 CSV 错误
Posted
技术标签:
【中文标题】Spark 2.0 CSV 错误【英文标题】:Spark 2.0 CSV Error 【发布时间】:2017-01-18 17:59:55 【问题描述】:我正在从 1.6 升级到 spark 2,但在读取 CSV 文件时遇到问题。在 spark 1.6 中,我会在 CSV 文件中读取类似的内容。
val df = sqlContext.read.format("com.databricks.spark.csv")
.option("header", "true")
.load(fileName)
现在我使用文档中给出的以下代码:
val df = spark.read
.option("header", "true")
.csv(fileName)
这会导致运行时出现如下错误:
"Exception in thread "main" java.lang.RuntimeException: Multiple sources found for csv (org.apache.spark.sql.execution.datasources.csv.CSVFileFormat, com.databricks.spark.csv.DefaultSource15), please specify the fully qualified class name."
我认为这是因为我仍然有 spark-csv 依赖项,但是我删除了该依赖项并重新构建了应用程序,但仍然遇到相同的错误。删除后如何仍然找到 databricks 依赖项?
【问题讨论】:
【参考方案1】:错误消息意味着您在运行 spark-shell
时有 --packages com.databricks:spark-csv_2.11:1.5.0
选项,或者在类路径中有这些 jar。请检查您的课程路径并将其删除。
【讨论】:
【参考方案2】:我没有在我的类路径中添加任何 jar。
我用它在 spark shell(2.3.1) 中加载 csv 文件。
val df = spark.sqlContext.read.csv('path')
【讨论】:
您能否edit您的答案并添加简短说明此代码为何/如何解决问题?以上是关于Spark 2.0 CSV 错误的主要内容,如果未能解决你的问题,请参考以下文章
Spark 2.0:绝对 URI 中的相对路径(spark-warehouse)
在 Spark 2.0 中加载压缩的 gzipped csv 文件
Spark.read.csv 错误:java.io.IOException:权限被拒绝
Spark 2.0 将 json 读入带有引号的数据帧中 - 与 spark 1.6 不同的行为......错误?