簡體   English   中英

如何在pyspark中獲取結構化流數據幀的一行數據?

[英]How do I get the data of one row of a Structured Streaming Dataframe in pyspark?

我有一個 Kafka 代理,其主題與 Spark Structured Streaming 相關聯。 我的主題將數據發送到我的流數據幀,我想獲取有關此主題每一行的信息(因為我需要將每一行與另一個數據庫進行比較)。

如果我可以將我的批次轉換為 RDD,我可以輕松獲得每一行。
我也看到了一些關於 DStreams 的東西,但我不知道在最新版本 f spark 中它是否仍然有效。

DStream 是我問題的答案,還是有任何其他解決方案可以逐行獲取我的數據?

從 kafka 讀取 Spark Streaming 中的數據,並在 Spark Streaming 的 foreach writer 中編寫自定義行比較。 例如。

streamingDatasetOfString.writeStream.foreach(

新 ForeachWriter[字符串] {

def open(partitionId: Long, version: Long): Boolean = {
  // Open connection
}

def process(record: String): Unit = {
  // Write string to connection
}

def close(errorOrNull: Throwable): Unit = {
  // Close the connection
}}).start()

` 自 spark 2.4 起,python、scala、java 均支持此功能

暫無
暫無

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

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