由表及里认识Hadoop与Spark的区别

Hadoop是Apache下的一个项目,由HDFS、MapReduce、Hive和ZooKeeper等成员组成,其中核心是MapReduce和HDFS,我们平常所说的Hadoop也大部分值得是这两个东西。
HDFS是一个采用Master/Slave模式的高度容错的分布式文件系统,DataNode节点用于存储数据,NameNode节点维护集群内的元数据,Map负责对数据进行打散,Reduce负责对数据进行聚合,核心步骤为:首先将计算机任务拆分成若干个Map任务,然后分配到不同的节点上执行,每一个Map任务处理数据中的一部分,完成后生产的的中间结果,保存在磁盘中,Reduce将前面的若干个Map的输出汇总到一起输出。

Spark的核心在于RDD,可以理解为包含许多操作接口的数据集合,主要有Transformation(lazy)和action两类算子
spark根据RDD之间的依赖关系切分成不同的阶段stage,RDD之间的转换的思想是 lazy的,也就是说不是实际发生的,而是以有向无环图的方式记录,通过一个Action算子,将积累的所有算子一次性执行。

除此之后,基于内存的Spark和基于磁盘的Hadoop也是一个区别。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容