首页 > 解决方案 > Spark 中嵌套类型和案例类的模式演变

问题描述

我们将数据存储在镶木地板中。我们将其读入数据框并转换为案例类。这是一个模拟示例:

sqlContext.read.parquet(path)
      .as[House]

House 是具有嵌套案例类的复杂类型:

case class House(rooms: Seq[Room])
case class Room(area: Int) 

我们的问题是我们要修改 Room 中的一个字段:

case class Room(width: Int, length: Int)

我们有将面积转换为宽度和长度的逻辑。

使用相同代码读取旧模式和新模式的推荐方法是什么?

我们正在考虑在阅读时使用 parquet 的合并模式,检查生成的 Dataframe 以迁移属性,然后转换为我们的案例类。对于像这样的嵌套类型,这似乎是不可能的。

标签: apache-sparkapache-spark-sql

解决方案


推荐阅读