ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
RDD 称为弹性分布式数据集(Resilient Distributed Datasets),它是一种分布式的基于内存的抽象,允许在大型集群上执行基于内存计算(In-Memory Computing)的数据集,它为用户屏蔽了底层复杂的计算和映射环境。 <br/> **1. 简单的解释** RDD 是将数据项拆分为多个分区的集合,存储在集群的工作节点上的内存和磁盘中,并执行正确的操作。 <br/> **2. 复杂的解释** (1)RDD 是用于数据转换的接口,它提供了 map、filter、groupBy、join 等处理方法。 (2)RDD 指向了存储在 HDFS、Cassandra、HBase 等、或缓存(内存、内存+磁盘、仅磁盘等)、或在发生故障时、或缓存收回时,重新计算其他 RDD 分区中的数据。从这个意义上讲,RDD 不包含任何待处理数据。 <br/> **3. RDD是弹性分布式数据集(Resilient Distributed Datasets)** * 分布式体现在: * RDD是只读的、分区记录的集合,每个分区分布在集群的不同节点上; * RDD并不存储真正的数据,只是对数据和操作的描述; * 弹性体现在: * RDD默认存放在内存中,当内存不足,Spark自动将RDD写入磁盘; * 容错性:根据数据血统,可以自动从节点失败中恢复分区;