一,实时分析概念
1,离线分析
通常是需要一段时间的数据积累,到一定数量的数据后,开始离线分析,无论数据量多大,离线分析有开始,也有结束,最终得到一个处理的结果,这样的分析过程,得到的结果是有较大的延迟的。
2,实时分析
通常数据不停的到来,随着数据的到来,来进行增量的运算,立即得到新数据的处理结果,并没有一个数据积累的过程,有开始,但没有明确的结束时刻,数据实时的进行运算,基本没有延迟。
二,Strore概述
Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。
Storm有很多使用场景:如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。
Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快。
Storm性能优良,处理速度很快(在一个小集群中,每个结点每秒可以处理数以百万计的消息)。
Storm的部署和运维都很便捷,而且更为重要的是可以使用任意编程语言来开发应用。
三,Storm组件
Storm将实时运算的过程,拆分为若干简单的步骤,再组装在一起完成复杂计算任务,由这些简单步骤组装起来的运算过程,称之为一个Topology(拓扑)。
Topology由Spout(喷嘴)和Bolt(阀门)组成,Spout负责连接外部数据源,整个topology中以Strea(数据流)方式传递数据,Stream数据流中传递的是一个个的tuple(元组)。