hadoop 是实现了 mapreduce 的思想,将数据切片计算来处理大量的离线数据。
hadoop处理的数据必须是已经存放在 hdfs 上或者类似 hbase 的数据库中,所以
hadoop 实现的时候是通过移动计算到这些存放数据的机器上来提高效率而 storm
不同,storm 是一个流计算框架,处理的数据是实时消息队列中的,所以需要我们
写好一个 topology 逻辑放在那,接收进来的数据来处理,所以是通过移动数据平均
分配到机器资源来获得高效率。
hadoop 的优点是处理数据量大(瓶颈是硬盘和 namenode,网络等),分析
灵活,可以通过实现 dsl,mdx 等拼接 hadoop 命令或者直接使用 hive,pig 等来
灵活分析数据。适应对大量维度进行组合分析缺点就是慢:每次执行前要分发 jar
包,hadoop 每次 map 数据超出阙值后会将数据写入本地文件系统,然后在 reduce
的时候再读进来。
storm 的优点是全内存计算,因为内存寻址速度是硬盘的百万倍以上,所以 storm
的速度相比较 hadoop 非常快(瓶颈是内存,cpu)缺点就是不够灵活:必须要先写
好 topology结构来等数据进来分析。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-21 17:31:49