Как использовать createpairedStream в MQTTUtils?

Я не могу использовать

MQTTUtils.createPairedStream()

в Скале?

Как указать список тем в качестве параметров? Я перепробовал все способы, такие как словарь, список, кортежи, но это не сработало. А потом я попытался в Python, в то время он показывает ошибку, как

Процесс шлюза Java завершился перед отправкой драйверу его номера порта

1 ответ

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

Другие вопросы по тегам