2017-03-28 7 views
0

私は嵐を使用することについて混乱しています。ストリームデータを使用してデータソースのステータスを測定しようとしています。ステータスはいくつかのフィールドを組み合わせて計算され、これらのフィールドは異なる時間間隔で達成することができます。だから私は、データソースのステータスを測定するフィールドを保存する必要があります。BaseStatefulBolt(Storm Core)とStateFactory(Storm Trident)

BaseStatefulBoltを使用できますか?または、このシナリオでは唯一の解決策はトライデントですか?

どのような違いがありますか?トライデントの中にはステートファクトがあるので。

ありがとうございます。

答えて

0

私は、TridentがBaseStatefulBolよりも高いレベルだと思っています。それはグループのように、persistentAggregate、aggregateのように数えるオプションがあります。

私はトライデントをユーザー1人あたりの合計ビュー数に使用しました。私たちが現在の合計数だけを気にしているのであれば、私はMemoryMapState.Factory()を使用してトライデントを使用でき、クラスはカウントまたは合計するためのアクションを実装することができます。

現在のフィールドのステータスを管理する必要がある場合は、実装したBaseStatefulBoltが良い選択で、現在の状態を保存するKeyValueStateがあると思います。