2017-03-28 59 views
0

我對使用風暴感到困惑。我將使用流數據來衡量數據源的狀態。狀態將通過一些字段的組合來計算,並且這些字段可以實現不同的時間間隔。這就是爲什麼我需要保存字段來衡量數據源的狀態。BaseStatefulBolt(風暴核心)vs StateFactory(風暴三叉戟)

我可以使用BaseStatefulBolt嗎?或者唯一的解決方案是三叉戟這個cenario?

btw他們有什麼區別。因爲在三叉戟內部也有一個statefactory。

謝謝。

回答

0

我認爲差異是三叉戟比BaseStatefulBol更高的水平,它有一些選項,如group by,persistentAggregate,aggregate。

我已經使用三叉戟計算每個用戶的總觀看次數。如果我們只關心當前的總數,我認爲我們可以通過使用MemoryMapState.Factory()和類實現動作來計數或求和。

在你的情況下,你需要管理一些當前字段的狀態,我認爲實現BaseStatefulBolt是一個不錯的選擇,它具有KeyValueState用於保存當前狀態。