Блоки данных MQTT Streaming AbstractMethodError - PullRequest
1 голос
/ 31 мая 2019

Я пытаюсь создать структурированную потоковую передачу SQL от брокера MQTT:

test = spark.readStream.format("org.apache.bahir.sql.streaming.mqtt.MQTTStreamSourceProvider")\
.option("clientId", "experiment")\
.option("brokerUrl","tcp://<broker>:1883")\
.option("topic",'#')\
.option('QoS',0)\
.option('connectionTimeout',0)\
.option('keepAlive',5)\
.option('autoReconnect',True)\
.option('persistence','memory')\
.load()

Эти команды выглядят хорошо, но когда я пытаюсь записать поток, я получаю сообщение об ошибке:

PARQUET_PATH="/tmp"

test.writeStream.format("parquet")\
.option('checkpointLocation', PARQUET_PATH + "/_chk")\
.start(PARQUET_PATH)
java.lang.AbstractMethodError: org.apache.bahir.sql.streaming.mqtt.MQTTStreamSource.planInputPartitions()Ljava/util/List;

Кто-то получил такую ​​ошибку? Я уже все перепробовал и не прошел.

Я использую Spark 2.4.0, Scala 2.11 и org.apache.bahir: spark-sql-streaming-mqtt_2.11: 2.4.0-SNAPSHOT

...