簡體   English   中英

如何使用 Trigger.Once 選項在 Spark 3 Structure Stream Kafka/Files 源中配置背壓

[英]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 maxOffsetsPerTriggermaxFilesPerTrigger來控制我的 spark 可以處理多少數據。 這就是我配置背壓的方式。

現在您刪除了此功能,因此假設有人可以向 go 提出一種新方法?

Trigger.Once現在會忽略這些選項(在 Spark 3 中),因此它總是會在第一次加載時讀取所有內容。

您可以解決這個問題 - 例如,您可以啟動 stream 並將觸發器設置為周期性,例如 1 小時,並且不執行.awaitTermination ,但有一個並行循環將檢查第一批是否完成,然后停止stream。 或者您可以將其設置為連續模式,然后檢查批次是否為 0 行,然后終止 stream。 在初始加載之后,您可以將 stream 切換回 Trigger.Once

暫無
暫無

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

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