spark dataframe 转list 实体类 scala
假设我们有以下 Spark DataFrame:
+---+-------+-----+
|id |name |age |
+---+-------+-----+
|1 |Alice |25 |
|2 |Bob |30 |
|3 |Charlie|35 |
+---+-------+-----+
我们想要将其转换为以下实体类的列表:
case class Person(id: Int, name: String, age: Int)
val people = List(
Person(1, "Alice", 25),
Person(2, "Bob", 30),
Person(3, "Charlie", 35)
)
我们可以使用 Spark 的 map 函数将每一行转换为一个 Person 实例,然后使用 collect 函数将结果收集到本地。以下是完整的代码:
import spark.implicits._
val df = Seq(
(1, "Alice", 25),
(2, "Bob", 30),
(3, "Charlie", 35)
).toDF("id", "name", "age")
case class Person(id: Int, name: String, age: Int)
val people = df.map(row => Person(row.getInt(0), row.getString(1), row.getInt(2))).collect.toList
这将返回以下列表:
List(
Person(1, "Alice", 25),
Person(2, "Bob", 30),
Person(3, "Charlie", 35)
)
原文地址: https://www.cveoy.top/t/topic/ZGK 著作权归作者所有。请勿转载和采集!