【问题标题】:Multiple sources found for csv : readStream为 csv 找到多个来源:readStream
【发布时间】:2018-09-01 08:43:38
【问题描述】:

我正在尝试运行以下代码以将文件作为数据帧读取到 Kafka 主题(用于 Spark Streaming)上,该主题是通过 Eclipse IDE 开发的,使用 Scala,通过使用 spark-submit 在服务器上运行瘦 jar 来适当地定义模式(没有调用任何其他软件包)并且在下面出现错误。尝试了基于spark.read.option.schema.csv类似错误在互联网上研究的建议,但没有成功。

有人在使用 readStream 选项时遇到过类似的 Spark Streaming 问题吗?

期待听到您的回复!

错误:

Exception in thread "main" java.lang.RuntimeException: Multiple sources found for csv (com.databricks.spark.csv.DefaultSource15, org.apache.spark.sql.execution.datasources.csv.CSVFileFormat), please specify the fully qualified class name.

代码:

val csvdf = spark.readStream.option("sep", ",").schema(userSchema).csv("server_path") //does not resolve error
val csvdf = spark.readStream.option("sep", ",").schema(userSchema).format("com.databricks.spark.csv").csv("server_path") //does not resolve error
val csvdf = spark.readStream.option("sep", ",").schema(userSchema).csv("server_path") //does not resolve error
val csvdf = spark.readStream.option("sep", ",").schema(userSchema).format("org.apache.spark.sql.execution.datasources.csv").csv("server_path") //does not resolve error
val csvdf = spark.readStream.option("sep", ",").schema(userSchema).format("org.apache.spark.sql.execution.datasources.csv.CSVFileFormat").csv("server_path") //does not resolve error
val csvdf = spark.readStream.option("sep", ",").schema(userSchema).format("com.databricks.spark.csv.DefaultSource15").csv("server_path") //does not resolve error

【问题讨论】:

  • 请添加输入数据的“小”样本并显示 userSchema 是如何定义的。
  • 数据为:1,Nightmare Before Christmas,1993,3.9,4568 2,The Mummy,1932,3.5,4388 3,Orphans of the Storm,1921,3.2,9062 4,The Object of Beauty ,1991,2.8,6150 的架构在代码中定义为 val userSchema = StructType(Array(StructField("id", StringType), StructField("name", StringType), StructField("year", StringType), StructField("rating ", StringType), StructField("duration", StringType)))
  • 请将您的新信息放入您的问题中。

标签: eclipse scala csv apache-spark spark-streaming


【解决方案1】:

Pom.xml 没有明确调用 spark-csv jar。

原来包含 Spark2 jar 的服务器 HDP 路径同时具有 spark-csv 和 spark-sql jar,这导致了 Csv 源冲突的问题。 从路径中删除额外的 spark-csv jar 后,问题得到解决。

【讨论】:

    猜你喜欢
    • 2021-04-09
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 2018-12-27
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    相关资源
    最近更新 更多