Hadoop与Storm的一点区别

Hadoop是实现了mapreduce的思想,将数据切片计算来处理大量的离线数据数据。hadoop处理的数据必须是已经存放在hdfs上或者类似hbase的数据库中,所以hadoop实现的时候是通过移动计算到这些存放数据的机器上来提高效率

而storm不同,storm是一个流计算框架,处理的数据是实时消息队列中的,所以需要我们写好一个topology逻辑放在那,接收进来的数据来处理,所以是通过移动数据平均分配到机器资源来获得高效率。

总的来说

hadoop的优点是处理数据量大(瓶颈是硬盘和namenode,网络等),分析灵活,可以通过实现dsl,mdx等拼接hadoop命令或者直接使用hive(超烂。。),pig等来灵活分析数据。适应对大量维度进行组合分析

ps:相较与hive,pig建议自己实现mdx,即灵活又高效

缺点就是慢:hadoop每次map会将数据写入本地文件系统,然后在reduce的时候再读进来

storm的优点是全内存计算,因为内存寻址速度是硬盘的百万倍以上,所以storm的速度相比较hadoop非常快(瓶颈是内存,cpu)

缺点就是不够灵活:必须要先写好topology结构来等数据进来分析,如果我们需要对几百个维度进行组合分析,那么。。。

另外推荐storm的DRPC实在太有用了,以至于这个本来要分理出来的项目,被并入storm^^

相关推荐