如何在Apache Storm中存储临时数据?
在风暴拓扑中,bolt需要访问先前处理的数据。
Eg: if the bolt processes varaiable1 with result as 20 at 10:00 AM.
并再次varaiable1
收到50
,10:15 AM
则结果应为30 (50-20)
稍后,如果varaiable1收到,70
则结果应20 (70-50)
为10:30
。
如何实现此功能。
简而言之,您想对Storm的运行元组进行微分批计算。首先,您需要在元组集中定义/查找键。使用该键在螺栓之间进行字段分组(不要使用随机分组)。这将确保相关的元组将始终发送给同一键的下游螺栓相同的任务。定义类级别集合List / Map来维护旧值并在其中添加新值以进行计算,不必担心它们在同一螺栓的不同执行者实例之间是线程安全的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句