1. RDD(弹性分布式数据集)的五大特性
Spark 的 RDD(弹性分布式数据集)有哪五大特性,它们分别如何支撑 RDD 的容错与计算?
- 分区列表(Partitions)
- 只读分区上的计算函数(Compute)
- 依赖关系(Dependencies)
RDD(Resilient Distributed Dataset)是 Spark 的核心抽象,五大特性为:①分区列表(Partitions):RDD 被划分为若干个分区,是并行的基本单元,每个分区对应一个任务;②每个分区上的计算函数(Compute):RDD 对每个分区定义了计算函数,把一个分区映射为另一个分区,实现惰性逐分区计算;③依赖关系(Dependencies):记录 RDD 的血缘,包括窄依赖与宽依赖,是容错与阶段划分的依据;④分区器(Partitioner):仅对 Keyed RDD 存在,决定 key 如何分到分区(Hash/Range),影响 shuffle 与同分区内的数据分布;⑤首选位置(Preferred Locations):记录每个分区偏向的节点(如 HDFS 块所在节点),用于调度时实现数据本地性(data locality),减少网络传输。这五特性共同支撑 RDD 的"弹性(可重建)"与"分布式(并行)"。
记忆口诀"分区、计算、依赖、分区器、首选位置"。作答时强调"分区+依赖"是容错与并行核心,"首选位置"体现数据本地性优化。