Spark RDD DataFrame DataSet 的区别

FreeGuideOnline 最新 2026-07-09

scala val rdd = spark.sparkContext.textFile("data.txt") .flatMap(.split(" ")) .map(word => (word, 1)) .reduceByKey( + _)

**特点**:强类型,但结构化程度低,无法利用列名。

### 4.2 DataFrame 操作示例
```scala
val df = spark.read.json("people.json")
df.select("name", "age")
  .filter($"age" > 21)
  .show()

特点:像写 SQL,但列名是字符串,写错不会立即报错。

4.3 DataSet 操作示例

case class Person(name: String, age: Long)
val ds: Dataset[Person] = spark.read.json("people.json").as[Person]
ds.filter(_.age > 21).show()