数据岗位面试题更新 2026-08-05

请解释 PySpark 中 RDD 的概念,并阐述它的主要特性有哪些?

数据技术原理PySpark

考察说明

考查对 PySpark 核心抽象 RDD 的基本概念和特性的理解。

回答思路

  1. 【回答框架 1】RDD(弹性分布式数据集)是 PySpark 中最基础的数据抽象,代表一个不可变、可分区的记录集合,这些分区可以并行计算,且能够自动进行故障恢复。
  2. 【回答框架 2】RDD 的主要特性包括:不可变性(数据一旦创建不可修改,只能通过转换操作生成新 RDD)、弹性(通过血缘关系实现容错,分区丢失时可重新计算)、分区性(数据分布到集群多个节点,支持并行处理)以及惰性求值(转换操作只记录血缘,行动操作才真正计算)。
  3. 【回答框架 3】RDD 支持两类操作:转换操作(如 map、filter)和行动操作(如 collect、count),转换操作是惰性的,行动操作会触发实际计算。RDD 适用于需要低延迟、精细控制数据分区和容错策略的场景,但相比 DataFrame,其性能优化和内置函数较少。
  4. 【关键点 1】RDD 是弹性分布式数据集,具有不可变性、分区性和容错性。
  5. 【关键点 2】RDD 通过血缘关系实现容错,分区数据丢失时可自动重新计算。
  6. 【关键点 3】RDD 操作分为惰性的转换操作和触发计算的行动操作。
  7. 【关键点 4】RDD 适合需要精细控制分区和容错场景,但 DataFrame 通常性能更优。
  8. 【易错点 1】RDD 的不可变性是设计特性,不是缺陷,不能通过修改来实现更新。
  9. 【易错点 2】RDD 的弹性指容错能力,不是指数据量可变。
  10. 【易错点 3】惰性求值意味着转换操作不会立即执行,需行动操作触发。