首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用用户名和密码创建MQTT流

无法使用用户名和密码创建MQTT流
EN

Stack Overflow用户
提问于 2019-07-28 14:16:38
回答 2查看 111关注 0票数 0

我想创建一个MQTT流,它使用用户名和密码进行订阅。我正在使用apache-bahir来创建mqtt流。当我使用MQTTUtils.createStream()方法时,它只接受ssc、brokerurl、topic和StorageLevel作为参数。当我提供用户名和密码时,它显示"Can‘t resolve symbol createStream().

代码语言:javascript
运行
复制
val lines = MQTTUtils.createStream(ssc, brokerUrl, topic, storageLevel, clientId, username, password, cleanSession, qos, connectionTimeout, keepAliveInterval, mqttVersion)

https://bahir.apache.org/docs/spark/2.3.0/spark-streaming-mqtt/

这个页面是我推荐的实现。

代码语言:javascript
运行
复制
val sc = new SparkContext()
val ssc = new StreamingContext(sc,Seconds(10))
val stream = MQTTUtils.createStream(ssc,"broker.mqttdashboard.com","tag_topic",StorageLevel.DISK_ONLY,"clientid","username","password")

错误消息是无法解析Symbol MQTTUtils.createStream()

EN

回答 2

Stack Overflow用户

发布于 2019-11-19 23:32:50

试着这样做:

代码语言:javascript
运行
复制
 val spark  = SparkSession
      .builder()
      .appName("app")
      .config("spark.master", "local[*]")
      .getOrCreate()

val lines = spark.readStream
  .format("org.apache.bahir.sql.streaming.mqtt.MQTTStreamSourceProvider")
  .option("username", username)
  .option("password", password)
  .option("topic", topic)
  .option("brokerUrl",brokerUrl )
  .load()

所有信息都在Github

票数 0
EN

Stack Overflow用户

发布于 2019-11-20 17:26:12

使用JavaStreamingContext我们可以解决这个问题

代码语言:javascript
运行
复制
val jssc = new JavaStreamingContext(sc,Seconds(2))
val clientId = MqttClient.generateClientId()
val stream =  MQTTUtils.createPairedByteArrayStream(jssc,brokerUrl,topic,clientId,username,password,true)
stream.print()
jssc.start()
jssc.awaitTermination()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57238429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档