我无法使用
MQTTUtils.createPairedStream()
在斯卡拉?
如何将主题列表指定为参数?我尝试了所有方法,如字典、列表、元组,但没有奏效。然后我在python中尝试过,当时它显示了一个错误,比如
Java 网关进程在向驱动程序发送其端口号之前退出
我无法使用
MQTTUtils.createPairedStream()
在斯卡拉?
如何将主题列表指定为参数?我尝试了所有方法,如字典、列表、元组,但没有奏效。然后我在python中尝试过,当时它显示了一个错误,比如
Java 网关进程在向驱动程序发送其端口号之前退出
Scala 是一种静态类型语言,您提供给方法的参数必须具有特定类型才能编译方法调用。有时方法是重载的,在这种情况下可以提供不同的参数组合,而在 Scala 中,有时某些参数可能具有默认值,在这种情况下根本不需要提供它们。
有几种方法可以确定给定方法可能的参数。您的 IDE 可能会在您键入MQTTUtils.createPairedStream(
. 有时库开发人员会发布 API 文档,以易于阅读的格式显示方法签名(包括参数类型和返回值)。如果这些都不是您的选择并且该项目是开源的,您只需查找源代码即可。在这种情况下,您会发现以下内容(请注意,如果您使用不同的版本,您可能需要更改 GitHub 界面中的标签):
/**
* Create an input stream that receives messages pushed by a MQTT publisher.
* @param ssc StreamingContext object
* @param brokerUrl Url of remote MQTT publisher
* @param topics Array of topic names to subscribe to
* @param storageLevel RDD storage level. Defaults to StorageLevel.MEMORY_AND_DISK_SER_2.
*/
def createPairedStream(
ssc: StreamingContext,
brokerUrl: String,
topics: Array[String],
storageLevel: StorageLevel = StorageLevel.MEMORY_AND_DISK_SER_2
): ReceiverInputDStream[(String, String)] = {
new MQTTPairedInputDStream(ssc, brokerUrl, topics, storageLevel)
}
这是八种createPairedStream
方法重载中最简单的一种(其余的都采用附加参数)。这表明您需要(按顺序)提供一个StreamingContext
、一个代理 URL 和一个主题数组。