簡體   English   中英

Apache Flink:在並行任務之間對齊水印

[英]Apache Flink: aligning watermark among parallel tasks

我們正在使用帶水印的周期性事件時間窗口。 我們的 Flink 應用程序中目前有 4 個並行任務。

在流式傳輸過程中,所有 4 個任務的水印值都必須接近觸發窗口事件。

例如;

任務 1 水印值 = 8

任務 2 水印值 = 1

任務 3 水印值 = 8

任務 4 水印值 = 8

任務 2 正在等待日志更新其水印。 然而,這種情況可能發生在任務 2 的更新之前,我們希望在它之前觸發窗口事件。

是否有任何機制可以在不等待其他任務的情況下對齊所有並行任務的水印或觸發窗口事件?

這已經在@Til Rohrmann 的評論中得到了回答,主要答案是:

如果您想查找同一個人的 3 個發件人,那么您應該keyBy人鍵,然后簡單地使用計數窗口來生成警報。 也許您還想過濾掉同一個人的重復發件人。

后續問題:

但是我們還需要考慮事件時間。 例如 10 分鍾內 3 個發件人(事件時間不是處理時間)

后續回答:

然后,您可以使用帶有自定義觸發器的事件時間窗口,該觸發器在看到 3 個元素時觸發。

我想關鍵的結論是:如果你想觸發一些東西的計數,keyBy那個字段。

暫無
暫無

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

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