java.lang.ClassNotFoundException:找不到数据源:org.apache.bahir.sql.streaming.mqtt.MQTTStreamSinkProvider。请
Posted
技术标签:
【中文标题】java.lang.ClassNotFoundException:找不到数据源:org.apache.bahir.sql.streaming.mqtt.MQTTStreamSinkProvider。请找包【英文标题】:java.lang.ClassNotFoundException: Failed to find data source: org.apache.bahir.sql.streaming.mqtt.MQTTStreamSinkProvider. Please find packages 【发布时间】:2021-12-01 22:52:21 【问题描述】:我已经添加了
"org.apache.bahir" %% "spark-streaming-mqtt" % "2.4.0"
到我的build.sbt
,并使用
df
.writeStream
.format("org.apache.bahir.sql.streaming.mqtt.MQTTStreamSinkProvider")
.outputMode("complete")
.option("topic", "mytopic")
.option("brokerUrl", "tcp://localhost:1883")
.start()
.awaitTermination(20000)
在代码中,但得到
java.lang.ClassNotFoundException: Failed to find data source: org.apache.bahir.sql.streaming.mqtt.MQTTStreamSinkProvider. Please find packages at http://spark.apache.org/third-party-projects.html
at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:679)
【问题讨论】:
【参考方案1】:我已经意识到这种行为的原因是使用了错误的依赖 "org.apache.bahir" %% "spark-streaming-mqtt" % "2.4.0"
而不是 "org.apache.bahir" %% "spark-sql-streaming-mqtt" % "2.4.0"
修复后我遇到了新问题
【讨论】:
以上是关于java.lang.ClassNotFoundException:找不到数据源:org.apache.bahir.sql.streaming.mqtt.MQTTStreamSinkProvider。请的主要内容,如果未能解决你的问题,请参考以下文章