首页 > 代码库 > storm学习

storm学习

一 storm起源

storm作为一个流式处理框架,它与hadoop的根本区别在于hadoop的输入不是持续的,而storm的输入是持续的。storm是一个开源的,分布式的流式的计算系统。随着有些公司数据量增长非常快和和数据量特别大就出现了分布式的需要,把一个计算任务拆解成多个计算机同时运行。Google发表的三篇论文,Google File System,BigTable,MapReduce奠定了分布式的理论基础,原Yahoo的Doug Cutting根据这些学术论文研究出hadoop。基于hadoop改造的系统就如雨后春笋般的出现了,HBase,Drill,Hive,Tez,Pig,Dremel,Mahout,等形成了一整套生态系统。 但是hadoop只适用于批处理,不适用于流式处理,流式处理有时候是非常必须和重要的,批处理往往需要收集一部分时间数据然后在计算,流式处理是相对动态的,比如用户出广告费使他的搜索靠前,如果第二名出不了这么多钱,就可以恶意点击位于他前面的广告商使费用很快用完,如果批处理hadoop就可能招来广告商的埋怨,如果用流式处理框架就可以比较实时的计算是不是恶意点击。于是就产生了分布式流式计算系统,比较有名的有流失系统有Yahoo的S4,IBM的StreamBase,Amazon的kinesis,Spark的Streaming,Google的Millwheel

 

批量计算和流式计算的比较:

技术分享

 

二 

storm学习