提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、RDD为何物
(一)RDD概念
- Spark提供了一种对数据的核心抽象,称为弹性分布式数据集(Resilient Distributed Dataset,RDD)。这个数据集的全部或部分可以缓存在内存中,并且可以在多次计算时重用。RDD其实就是一个分布在多个节点上的数据集合。
- RDD的弹性主要是指当内存不够时,数据可以持久化到磁盘,并且RDD具有高效的容错能力。
- 分布式数据集是指一个数据集存储在不同的节点上,每个节点存储数据集的一部分。
(二)RDD示例
- 将数据集(hello,world,scala,spark,love,spark, happy)存储在三个节点上,节点一存储(hello,world),节点二存储(scala,spark,love),节点三存储(spark,happy),这样对三个节点的数据可以并行计算,并且三个节点的数据共同组成了一个RDD。
- 分布式数据集类似于HDFS中的文件分块,不同的块存储在不同的节点上;而并行计算类似于使用MapReduce读取HDFS中的数据并进行Map和Reduce操作。Spark则包含这两种功能,并且计算更加灵活。
- 在编程时,可以把RDD看作是一个数据操作的基本单位,而不必关心数据的分布