StreamingQuery

一個在背景持續執行、隨著新資料到達而持續執行的查詢的代柄。 所有方法皆為執行緒安全。

語法

# Returned by DataStreamWriter.start() or DataStreamWriter.toTable()
q = df.writeStream.format("console").start()

屬性

房產 說明
id 回傳該查詢的唯一 ID,該 ID 會從檢查點資料持續執行。
runId 回傳此查詢的唯一 ID,且不會在多次重啟後持續存在。
name 回傳使用者指定的查詢名稱,若 None 未指定則為
isActive 回傳此串流查詢是否目前仍在運作中。
status 以字令回傳查詢的當前狀態。
recentProgress 回傳此查詢的最新 StreamingQueryProgress 更新陣列。
lastProgress 回傳最新的 StreamingQueryProgress 更新,或者 None 如果沒有更新。

方法

方法 說明
awaitTermination(timeout) 等待此查詢的終止,無論是透過 stop() 例外還是例外方式。
processAllAvailable() 封鎖直到所有可用資料都處理完畢並提交到匯入匯入。 用於測試。
stop() 停止這個串流查詢。
explain(extended) 將(邏輯與實體)計畫列印到主控台以便除錯。
exception() 如果查詢以例外StreamingQueryException終止,則回傳 。None

Examples

sdf = spark.readStream.format("rate").load()
sq = sdf.writeStream.format('memory').queryName('this_query').start()
sq.isActive
# True
sq.name
# 'this_query'
sq.awaitTermination(5)
# False
sq.stop()
sq.isActive
# False