資料扭曲 - Managed Service for Apache Flink

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料扭曲

Flink 應用程式在叢集上分散式執行。為了橫向擴展到多個節點,Flink 使用了鍵控串流的概念,這實質上意味著某個串流的事件將依據特定索引鍵 (例如客戶 ID) 進行分割,然後 Flink 可以處理不同節點上的不同分割區。許多 Flink 運算子然後會根據這些分割區評估,例如鍵控視窗處理函數非同步 I/O

選擇分割區索引鍵通常取決於業務邏輯。同時,許多最佳實務 (例如 DynamoDB 和 Spark) 同樣適用於 Flink,包括:

  • 確保分割區索引鍵的高基數

  • 避免分割區之間的事件量扭曲

您可以比較 Flink 儀表板中接收/發送的子任務 (即同一運算子的多個執行個體) 的記錄數來識別分割區中是否存在扭曲。此外,Managed Service for Apache Flink 監控也可設定為公開子任務層級的 numRecordsIn/OutnumRecordsInPerSecond/OutPerSecond 指標。