【发布时间】:2021-06-07 20:51:11
【问题描述】:
我有一个嵌套的 JSON 结构,我将其解码为以下类:
case class Player(name: Option[String], age: Option[Int])
case class Team(name: Option[String], players: Option[Seq[Player]])
// create dataframe from JSON structure
val teamDF = spark.read
.option("multiline", true)
.schema(teamSchema)
.json("./test.json")
.as[Team]
.toDF()
我想创建另一个仅包含玩家的数据框,其中玩家的每个属性都是一列。
编辑: 以下代码有效,但仅适用于单个值(年龄)。我无法在单个 select 语句中对多个列使用explode。
val playerDF = teamDF.select(explode($"players.age"))
【问题讨论】:
标签: scala apache-spark