阅读路线:
- Hadoop与Spark比较
- Spark的安装
- Spark知识点
一、Hadoop与Spark比较
1.简单的比较
刚开始学习Spark的时候,自己总是会想当然的理解两者之间的关系。Hadoop和Spark的处理任务有很多是一样的,比如说他们都是有数据计算处理的功能,但是在一些方面又并不相互重叠,比如说,Spark没有文件管理功能,因而必须依赖Hadoop分布式文件系统(HDFS)或另外某种解决方案。实际上,在Hadoop的项目页面上,Spark就被列为是一个模块。Spark有自己的页面,因为虽然它可以通过YARN(另一种资源协调者)在Hadoop集群中运行,但是它也有一种独立模式。它可以作为 Hadoop模块来运行,也可以作为独立解决方案来运行。
刚开始学习的时候,应该先了解数据处理方面的不同,Spark相比Hadoop 的MapReduce模块,Spark确实速度很快,最多比Hadoop MapReduce快100倍)。这是因为MapReduce使用持久存储,而Spark使用弹性分布式数据集(RDD)。
2.Spark核心-RDD
RDD是一种分布式弹性数据集,将数据分布存储在不同节点的计算机内存中进行存储和处理。每次RDD对数据处理的最终结果,都分布在不同的节点中。这样的话,在进行到下一步数据处理的工作的时候,数据可以直接从内存中提取,从而省去了大量的IO操作。
另一个特性是延迟计算,即是一个完整的RDD运行任务被分成两个部分:Transformation和Action。Transformation用于对RDD的创建,同时还提供了大量的操作方法,例如map、filt