流水账

决定写个流水账,将来吹牛逼用

2015年8月25日:
用bitset统计不重复的值
统计每天活跃用户时,用户不能重复计算,因此可以设置一个长bit串,对uid计算hashcode,假设hashcode值为n,将bit串第n位设置成1,那么该bit串中1的数量即为活跃用户数量.同时方便对连续几天的活跃用户进行交集并集等操作
否则需要记录所有uid的信息,二分查找或者hash查找,效率低,占用空间大

2015年9月3日:
storm设置topology.max.spout.pending限制spout发射速度
有一次kafka队列中积压了大量消息,此时启动storm集群,发现fail数越来越多,分析后认为应该是topology.max.spout.pending设置的太大(0.9.4中不设置的话应该是无限制),导致pending中的tuple都timeout了.因此在spout的发射速度超过拓扑处理速度时,应该考虑用这个值限制spout一下

2015年9月10日:
将系统中mongodb的分析时间从130s缩短到1.6s.方法就是用aggregate框架代替mapreduce,同时注意在aggregate的早期stage中尽可能的过滤数据

2015年9月15日
提出了一种能根据新增时间和留存时间进行留存用户查询的方法,而不是简单的N日留存

2015年9月24日
利用命令拓扑的形式实现storm批量处理而不用timer或者其他外界条件

你可能感兴趣的:(流水账)