2017-09-15 31 views
0

使用有狀態處理和定時器對Beam Dataflow運行器(從v2.1.0起)有任何準則或限制嗎?諸如對狀態大小或更新頻率等的限制?候選流式管道將廣泛使用狀態和定時器來實現用戶會話狀態,並將Bigtable作爲持久存儲。使用狀態和定時器處理

回答

1

這裏是你的使用情況

  • 請匯聚多個元素,然後設置一個計時器,一些一般性的建議。
  • 請不要爲每個元素創建一個定時器,這會過度。
  • 嘗試和聚合狀態,而不是積累大量的狀態。即彙總爲總數和計數,而不是在計算平均值時存儲每個數字。
  • 請考慮session windows這個用例。
  • 在數據流中,不支持合併窗口的狀態。這是爲了梁。
  • 請根據您的訪問模式使用狀態,即盲目寫入BagState

這裏是一個有關狀態「Stateful processing with Apache Beam」的更多信息的信息博客文章。

+0

謝謝。由於缺乏對在Apache Beam中合併Windows的有狀態DoFn的支持,因此我正在考慮使用全局窗口並使用計時器清除狀態。在Dataflow的全局窗口中保留「空」狀態單元的開銷有多大? – Thomas