去年在公司做一些实时数据分析的程序,基本上依靠的是分布式缓存系统(像我们公司的tair或者使用MongoDB这样的kv数据库),他们具备的原子递增功能可以用来作实时的计数。这种方式要是遇到复杂的统计规则,那么设计所需的key就变得异常困难。还有个最大的缺点,一旦分布式缓存系统发生异常或者重启的时候,你的计数就完全不准确了。
很早开始关注storm了,本来想山寨一个。最近找了几个公司里比较关注这方面的牛人聊了一下,大家觉得现有开源的实时数据处理的方案中就是它最靠谱了。因此,我准备好好用用storm,做几个经典的实时数据分析案例出来。
刚开始接触storm,第一份作业准备做一个简单例子,先在本地模式下跑。
我们假定有个交易系统,需要做一个针对每个ip订单创建量做实时统计(不知道这个规则是不是太简化了)。
在介绍怎么做之前,我们先来了解一些storm的基本概念:
Topologies
直译过来是拓扑结构的意思。它是storm里面描述一个实时程序的单位,有点像Hadoop的MapReduce Job。但也很不像,一个topology一旦启动就会一直在哪里运行着(除非你主动把它停止),而MapReduce Job一次跑完就结束了。topology其实就是描述了一个由spouts和bolts组成并通过流分组(stream grouping)方式连接的拓扑图。如下图所示:
。。。。
详细内容请访问我的新博客地址:
http://xiaofengmetis.com/?p=27
分享到:
相关推荐
如果在第39条街道上午签到的第一列中有snow , wind , rain或storm ,则会创建取消消息,否则将创建正常消息。 有关消息的格式/自定义,请参见。 最后,检查ts.txt是否存在。 该文件包含有关上一篇文章的时间
第一,数据体量大。大数据一般指在10TB(1TB=1024GB)规模以上的数据量, 目前正在跃升到PB(1PB=1024TB)级别。不仅存储量大,计算量也大。 第二,数据类型多。除了数值数据,还有文字、声音、视频等,包括网络...
品和模块 制定数据资产管理规划 第一阶段 解决数据孤岛问题 第二阶段 解决数据口径问题 第三阶段 解决数据价值问题 数据仓库 采集调度平台 BI展现平台 报表平台 企业数据标准 数据治理标准 开放数据服务接口 开放BI...
⼤数据期末知识点总结 ⼤数据特点: ⼤数据...Zookeeper:存储信息,1任务拓扑,任务分配,任务执⾏状 态,2从节点状态,⼯作进程状态,⼼跳信息,3集群状态配置信息 Nimbus master资源分配,任务调度,状态监控,故障
后来随着⼤家认识到数据时效性的重要作⽤,Twitter 开源的流计算引擎 Storm 红极⼀时,各 种流计算引擎也纷纷登场,其中也包括了Flink。由于成本、计算准确性和容错性等⽅⾯的考虑,各家企业纷纷使⽤起了被称为 的...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...