BaseStatefulBolt(风暴核心)vs StateFactory(风暴三叉戟)

时间:2017-03-28 12:16:37

标签: apache-storm trident

我对使用风暴很困惑。我将使用其流数据来测量数据源的状态。状态将与某些字段的组合计算,并且这些字段可以实现不同的时间间隔。这就是为什么我需要保存字段来测量数据源的状态。

我可以使用BaseStatefulBolt吗?或者唯一的解决方案是这个cenario的三叉戟?

他们有什么区别。因为三叉戟里面也有一个状态。

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为差异是三叉戟比BaseStatefulBol更高级别,它有一些选项来计算group by,persistentAggregate,aggregate。

我使用三叉戟计算每个用户的总观看次数。如果我们只关心当前的总计数,我想我们可以通过使用MemoryMapState.Factory()和类实现动作来计算或求和来使用trident。

在你的情况下你需要管理一些当前字段的状态,我认为实现BaseStatefulBolt是一个不错的选择,它有KeyValueState用于保存当前状态。