当前位置:首页>正文

使用spark必须安装hadoop吗 浅谈Spark和Hadoop作业之间的区别

2023-06-28 03:51:18 互联网 未知

使用spark必须安装hadoop吗

Spark是UCBerkeleyAMPlab所开源的类HadoopMapReduce的通用的并行计算框架,Spark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的mapreduce的算法。优势应该在于分布式架构比较相似能快速上手吧

浅谈Spark和Hadoop作业之间的区别

我想你指的Hadoop作业是指Map/Reduce作业。主要的差别有如下3点:
1、MR作业的资源管控是通过yarn进行的,spark可以通过yarn进行资源管控,也可以不使用yarn,但是多个组件合设时(如集群中既有spark计划,又有HBase查询),建议还是使用yarn;
2、spark是基于内存计算的,计算的中间结果存放在内存,可以进行反复迭代计算;而MR计算的中间结果是要落磁盘的,所以一个job会涉及到反复读写磁盘,这也是性能比不上spark的主要原因;
3、MR的一个task就要对应一个container,container的每次启动都要耗费不少时间,有些hadoop版本(如华为OceanInsight Hadoop)实现了容器预热(重用)功能,这个消耗可能会小一些;而spark是基于线程池来实现的,资源的分配会更快一些。