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 不同的行为......错误?

带有 spark.read.text 的 Spark 2.0 索引 3 处的预期方案特定部分:s3:错误

Spark 在尝试保存 CSV 文件时抛出错误