簡體   English   中英

Spark Structured Streaming foreach Sink 自定義編寫器無法從 Kafka 主題讀取數據

[英]Spark Structured Streaming foreach Sink custom writer is not able to read data from Kafka topic

我有 spark 結構化流媒體作業可以從 kafka 主題中讀取它。 但是,在訂閱主題時,該作業不會使用 foreach 編寫器將數據寫入控制台或將其轉儲到數據庫。

我有類DBWriter extends ForeachWriter<Row>仍然永遠不會調用此類的open, process, close方法。

如果您需要更多信息,請告訴我。

已按照Spark Kafka 集成指南中的說明進行操作。 仍然無法正常工作。

Spark 版本 2.3.1 卡夫卡 0.10.0

<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-sql-kafka-0-10_2.11</artifactId>
  <version>2.3.1</version>
</dependency>

我的代碼是:

spark.readStream().format("kafka").option.option("kafka.bootstrap.servers", "YOUR.HOST:PORT1,YOUR.HOST:PORT2")   
  .option("subscribe", "TOPIC1")    
  .option("startingOffsets", "latest") // read data from the end of the stream
  .load()

Dataset<Row> selectDf = dataframe.select(dataframe.col("key")
  .cast("string"),org.apache.spark.sql.functions.from_json(dataframe.col("value")
  .cast("string"), schema).alias("data"));

selectDf.writeStream()
  .trigger(Trigger.ProcessingTime(1000))
  .foreach(new DBWriterSink())
  .option("checkpointLocation","/tmp/chp_path/")

輸入數據具有以下格式:

數據采用 json 格式:



    {"input_source_data": 
    { "key1":"value1", 
    "key2": "value2"
     } 
    }

實際問題是由於 kafka 配置設置不正確。 主題訂閱不成功,握手失敗。 正確更正kafka屬性后。 能夠讀取數據,它正在額外設置這些屬性。 刪除后,它開始工作。 能夠閱讀消息並查看正在調用的 ForEachWriter。

properties.put("security.protocol", "SSL");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM