1

我正在尝试从 MQTT 代理创建 SQL 结构化流:

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

4

0 回答 0