在閱讀flink文檔(相關部分在下面註明)之後,我仍然沒有完全理解原子性和密鑰分佈。Flink狀態後端鍵atomicy和分配
即考慮由keyby-> flatmap(含有映射的狀態)的設置爲1與4個任務槽的曲線圖,和平行度,並確保弗林克每個鍵只存在一次(在一個任務時隙)在分佈式環境中,它是原子單位嗎? 在此先感謝所有幫手。
您可以將鍵控狀態視爲操作員狀態,該狀態已被分區或分區,每個鍵只有一個狀態分區。每個鍵控狀態都邏輯上綁定到一個唯一的組合
<parallel-operator-instance, key>
,並且由於每個鍵「屬於」一個鍵控運算符的並行實例,我們可以簡單地將其想象爲<operator, key>
。鍵控狀態被進一步組織成所謂的密鑰組。密鑰組是Flink可以重新分配鍵控狀態的原子單位;有確定的最大並行度的密鑰組數量完全相同。在執行過程中,鍵控操作符的每個並行實例都與一個或多個鍵組的鍵一起工作。
真棒,這清除它。非常感激。 – Eliran