Multiple sources found for parquet 错误解决

本文介绍了解决Spark在读取Parquet文件时遇到的多重数据源冲突问题的方法。通过明确指定完全限定的类名,可以成功避免冲突并完成数据读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spark读取parquet程序报错:

org.apache.spark.sql.AnalysisException: Multiple sources found for parquet (org.apache.spark.sql.execution.datasources.v2.parquet.ParquetDataSourceV2, org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat), please specify the fully qualified class name.

at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:720)

at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSourceV2(DataSource.scala:746)

at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:265)

at org.apache.spark.sql.DataFrameReader.parquet(DataFrameReader.scala:833)

at org.apache.spark.sql.DataFrameReader.parquet(DataFrameReader.scala:805)

解决方法其实都在后面写着了

”please specify the fully qualified class name."

也就是在读取的时候指定类就好

报冲突的代码

 val res = spark.read.parquet(path.format(date))

改后成功的代码

val sourceData = spark.read
      .format("org.apache.spark.sql.execution.datasources.v2.parquet.ParquetDataSourceV2")
      .load(dataPath+date)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值