我不能使用
mqttutils.createpairedstream()
在Scala中?
如何将主题列表指定为参数?我尝试了所有词典,列表,元组等所有方法,但它没有起作用。然后我在Python尝试了,当时它显示出一个错误
java网关进程在发送驱动程序之前已退出其端口号
scala是一种静态的语言,您向方法提供的参数必须具有特定类型,以便进行编译的方法调用。有时,方法被超载,在这种情况下可以提供不同的参数组合,在Scala中,有时某些参数可能具有默认值,在这种情况下,根本不需要提供。
有几种方法可以确定给定方法的可能性。当您键入MQTTUtils.createPairedStream(
时,您的IDE可能会显示一个工具贴。有时,库开发人员发布了以易于阅读的格式显示方法签名(包括参数类型和返回值)的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和一系列主题。