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

请说明在 Spark 中创建 RDD 的常见方式有哪些?

数据技术原理Apache Spark

考察说明

考查对 Spark RDD 创建方式的掌握程度。

回答思路

  1. 【回答框架 1】创建 RDD 主要有三种方式:从现有集合创建、从外部存储系统读取数据创建、从已有 RDD 转换生成。其中,从集合创建使用 parallelize 方法,从外部存储通常通过 textFile 等读取文件。
  2. 【回答框架 2】从集合创建 RDD 时,parallelize 方法接收一个 Scala 或 Java 集合作为参数,并可指定分区数,若不指定则默认使用集群的并行度。这种方式常用于小数据集的本地测试。
  3. 【回答框架 3】从外部存储创建 RDD 是最常见的生产场景,例如使用 sc.textFile 读取 HDFS 或本地文件系统中的文本文件,该方法会按行切分数据。此外,还可以通过 sc.wholeTextFiles 读取整个文件为键值对,或使用其他格式的输入源如 JDBC 等。
  4. 【回答框架 4】从已有 RDD 转换生成新 RDD 是 Spark 编程的核心,通过 map、filter、flatMap 等转换算子对现有 RDD 进行操作,产生新的 RDD,但转换是惰性的,真正计算发生在行动算子触发时。
  5. 【回答框架 5】无论哪种创建方式,RDD 都具有不可变性、分区性和弹性等特性,创建后数据不可修改,只能通过转换生成新 RDD。选择创建方式需考虑数据规模、来源和性能要求。
  6. 【关键点 1】并行化集合创建 RDD 使用 parallelize 方法。
  7. 【关键点 2】从外部存储(如 HDFS)创建 RDD 常用 textFile 方法。
  8. 【关键点 3】通过转换算子从已有 RDD 生成新 RDD,且转换是惰性的。
  9. 【易错点 1】不要混淆 RDD 的创建与行动操作,转换算子不会立即执行。
  10. 【易错点 2】平行化集合创建不适用于大规模数据,会占用驱动端内存。