请教大神 storm如何实现top n 统计?
我想统计在每分钟内,出现次数最多的10个ip这个用到storm的时间窗口
langke93 发表于 2016-12-9 16:59
这个用到storm的时间窗口
怎么实现呢
Hentai 发表于 2016-12-9 17:00
怎么实现呢
这个需要一定的编程基础,关于逻辑实现可参考这个
从业务逻辑讲解Storm的滑动窗口
http://www.aboutyun.com/forum.php?mod=viewthread&tid=20519
本帖最后由 Tank_2000 于 2016-12-11 22:10 编辑
topology.newDRPCStream("top", drpc).each(new Fields("args"), new Split(“ ”), new Fields("time")).parallelismHint(5).stateQuery(myStates,new Fields("time"),new QueryPacketDB(),new Fields("srcip", "byt", "pkt")).groupBy(new Fields("srcip")).chainedAgg().aggregate(new Fields("byt"), new count(), new Fields("yt")).aggregate(new Fields("pkt"), new count(), new Fields("kt")).chainEnd().applyAssembly(new FirstN(10, "yt", true));
使用ITridentSpout, 将上面的分组代码,稍微调整按时间分 分组试试 学习了
页:
[1]