我正在嘗試評估Apache Flink是否正在使用自定義代碼在生產中運行的用例。自定義窗口上的閃爍觸發
所以我們假設有一個事件流,每個事件都包含一個不斷增加的整數的特定屬性X。這是一堆連續的事件將此屬性設置爲N,然後下一批將其設置爲N + 1等。 我想將流分成具有相同值X的事件窗口,然後執行一些操作分別進行計算。
所以我定義了一個GlobalWindow和一個自定義觸發其中onElement方法我覈對當前X的值保存任何給定元素的屬性(從狀態變量),如果它們不同我得出結論,我們已經積累了X = CURRENT的所有事件,現在是時候進行計算並增加狀態中的X值。
這種方法的問題是來自下一個邏輯批次(X = CURRENT + 1)的元素已被使用,但它不是前一批次的一部分。 有沒有辦法將它以某種方式放回到流中,以便正確說明下一批?
或者,也許我的方法是完全錯誤的,還有更簡單的方法來實現我所需要的?
謝謝。
謝謝傑米。在我的情況下,問題是在X的不同值之間沒有明確的差距。這是我知道我已經得到X = N的所有值的唯一方式是,當我看到X = N + 1時,如此差距可能是幾天甚至幾周。 – Joe