我對 Spark 和 Python 很陌生。我正在嘗試查看 Spark Structured Streaming 中的任何指標(例如,processedRowsPerSecond),但我不知道該怎么做。
我在“ Structured Streaming Programming Guide ”中讀到,print(query.lastProgress)您可以直接獲取活動查詢的當前狀態和指標,但如果我撰寫它,我只能獲得None一次。我的代碼的最后一部分如下:
query = windowedCountsDF\
.writeStream\
.outputMode('update')\
.option("truncate", "false") \
.format('console') \
.queryName("numbers") \
.start()
print(query.lastProgress)
query.awaitTermination()
關于如何做到這一點的任何想法都將受到高度贊賞。
uj5u.com熱心網友回復:
嘗試:
while query.isActive:
print("\n")
print(query.status)
print(query.lastProgress)
time.sleep(30)
query.awaitTermination()塊query.lastProgress。
uj5u.com熱心網友回復:
這實際上取決于您想用該指標做什么。您的問題是您正在呼叫query.awaitTermination(),它會阻止任何其他活動。如果您想收集指標,那么query.awaitTermination()您需要實作自己的等待回圈,而不是呼叫,如下所示:
query = ...
while not query.exception():
if query.lastProgress:
print(query.lastProgress) # do something with your data
time.sleep(10) # wait 10 seconds..
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/387868.html
