spark sql 怎么拆解object类型数据
时间: 2023-12-01 20:56:56 浏览: 79
Spark SQL操作JSON字段的小技巧
在 Spark SQL 中,可以使用 `explode` 函数将包含对象类型数据的列拆分成多行。`explode` 函数接受一个包含数组或集合的列,并将其展开为多行。例如,如果有一个包含对象类型数据的 DataFrame,可以使用 `explode` 函数将其拆分成多行,如下所示:
```scala
import org.apache.spark.sql.functions._
val df = Seq(
(1, Seq("apple", "banana")),
(2, Seq("orange", "peach", "pear"))
).toDF("id", "fruits")
val exploded = df.select($"id", explode($"fruits").as("fruit"))
exploded.show()
```
输出结果:
```
+---+------+
| id| fruit|
+---+------+
| 1| apple|
| 1|banana|
| 2|orange|
| 2| peach|
| 2| pear|
+---+------+
```
在这个例子中,`explode` 函数将 `df` DataFrame 中的 `fruits` 列拆分成多行,并将其展开为新的 DataFrame `exploded`。每个元素都成为一行,并在新的列 `fruit` 中表示。
阅读全文