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-адрес брокера и массив тем.