[英]Spark 3 structured streaming use maxOffsetsPerTrigger in Kafka source with Trigger.Once
[英]How to configure backpreasure in Spark 3 Structure Stream Kafka/Files source with Trigger.Once option
在 Spark 3 Behave of backpressure option on Kafka 和 File Source for trigger.once 場景發生了變化。
但我有一個問題。 當我想使用 TriggerOnce 時,如何為我的工作配置背壓?
在 spark 2.4 中,我有一個用例,回填一些數據,然后啟動 stream。 所以我使用了一次觸發器,但我的回填場景可能非常大,有時會因為洗牌和驅動 memory 而在我的磁盤上造成太大的負載,因為 FileIndex 緩存在那里。 所以我使用 max maxOffsetsPerTrigger
和maxFilesPerTrigger
來控制我的 spark 可以處理多少數據。 這就是我配置背壓的方式。
現在您刪除了此功能,因此假設有人可以向 go 提出一種新方法?
Trigger.Once
現在會忽略這些選項(在 Spark 3 中),因此它總是會在第一次加載時讀取所有內容。
您可以解決這個問題 - 例如,您可以啟動 stream 並將觸發器設置為周期性,例如 1 小時,並且不執行.awaitTermination
,但有一個並行循環將檢查第一批是否完成,然后停止stream。 或者您可以將其設置為連續模式,然后檢查批次是否為 0 行,然后終止 stream。 在初始加載之后,您可以將 stream 切換回 Trigger.Once
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.