CreatePairedStream 不是 MQTTUtils 的成员

CreatePairedStream is not a member of MQTTUtils

当我声明 MQTTUTils.createPairedStream() 时,我得到了类似

的错误

value createPairedStream is not a member of object org.apache.spark.streaming.mqtt.MQTTUtils

我的 spark 和 Scala 版本是

SCALA 版本 - 2.11.8

火花版本 - 2.3.0

您可以在 apache Bahir 中看到以下拉取请求:Bahir Pull Request

在哪里可以看到正在添加 MQTTUtils.createPairedStream

您在 pom/gradle/sbt... 中导入使用以下工件:

spark-sql-streaming-mqtt_2.11 版本 2.3.2 来自组 org.apache.bahir.

您可以在 maven 中使用 Spark 1.6:

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-streaming-mqtt -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming-mqtt_2.11</artifactId>
    <version>1.6.3</version>
</dependency>

对于 Spark 2.3.2,您需要使用:

<dependency>
    <groupId>org.apache.bahir</groupId>
    <artifactId>spark-streaming-mqtt_2.11</artifactId>
    <version>2.3.2</version>
</dependency>

或在 SBT 中:

libraryDependencies += "org.apache.bahir" %% "spark-streaming-mqtt" % "2.3.2"

您可以找到更多信息:org.apache.bahir:spark-streaming-mqtt

bin/spark-shell --packages org.apache.bahir:spark-streaming-mqtt_2.11:2.3.0

您将使用 scala 导入包:

import org.apache.spark.streaming.mqtt._

并实例化:

val lines = MQTTUtils.createPairedStream(ssc, brokerUrl, topic)

希望对您有所帮助。