storm trident定义的内存结构MemoryMapState 详解

原创
2014/12/10 17:33
阅读数 399

MemoryMapState trident中定义的一种state,用来保存storm trident算出的数据。

看一下MemoryMapState 和 State的关系


MemoryMapState 将所有的数据存放在内部静态属性

 static ConcurrentHashMap<String, Map<List<Object>, Object>> _dbs = new ConcurrentHashMap<String, Map<List<Object>, Object>>();

关于ConcurrentHashMap,可以当作一个线程安全的map

public class ConcurrentHashMap<K, V> extends AbstractMap<K, V> 
implements ConcurrentMap<K, V>, Serializable

MemoryMapState 对ConcurrentHashMap的操作,主要依靠内部类 MemoryMapStateBacking进行。

static class MemoryMapStateBacking<T> implements IBackingMap<T>, ITupleCollection

storm学到现在,感觉里面都是套子,一个类的方法其实是调用自己一个属性的方法,很多层。


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部