相同点
都是大数据的计算框架
不同点
1.数据处理的基本单位不同
MapReduce的基本单位都是键值对类型,而storm是tuple
2.数据处理的阶段不同
MapReduce分为Map和Reduce阶段,而storm分为spout和bolt
3.数据处理的方式不同
MapReduce属于批处理,而storm是流处理
4.处理的数据不同
MapReduce处理的数据相对是不会发生变化的,而storm处理的数据是在实时变化的
5.吞吐量不同
MapReduce为了实现面向大数据集批处理的高吞吐量的并行处理,MapReduce可以利用集群中 的大量数据存储节点同时访问数据,以此利用分布集群中大量节点上的磁盘集合提供高带宽的数据访问和传输。
Storm从spout组件接收源数据,通过发射器发送到bolt,bolt对接收到的数据进行处理,处理完以后,写入到外部存储系统中或者发送到下个bolt进行再处理,所以storm是移动数据,不是移动计算;
6.数据之间通信不同
MapReduce是中间落地到磁盘中,也就是Map阶段处理完成需要放到磁盘中,再由reduce阶段从磁盘中拉去数据再进行处理,处理完成后数据再次存放到磁盘中,因为频繁的使用IO操作,比较影响性能;而storm是在内存中完成的
领取专属 10元无门槛券
私享最新 技术干货