【问题标题】:error while fetching data from column of type case class in spark scala从spark scala中类型case类的列中获取数据时出错
【发布时间】:2020-12-29 00:47:19
【问题描述】:

我正在尝试分解并检索数据,但在尝试将列转换为案例类时遇到类转换异常。 val explodedDF = inputD.withColumn("employee_explode",explode(input.col("employees")))

val resultDS = explodedDF.withColumn("first_name", **col(col("employee_explode").asInstanceOf[Employee].first_name**))

我可以展开员工列表,但是当我尝试从 Employee 获取 first_name 时,我收到一个类转换异常,说列不能转换为 Employee 类型

【问题讨论】:

  • 我的场景是我想从另一列创建一列,该列是另一个案例类的实例。

标签: scala apache-spark


【解决方案1】:

函数 col 返回一个 Spark Column,并且您正在尝试从 Column 类型构建您的 Employee 实例。要将数据帧的数据转换为 Spark 类型(案例类),您必须阅读有关数据集或 RDD 的信息

【讨论】:

  • Employee 是一个嵌套表,我正在获取一个员工列表作为我的数据集的一部分,我正在尝试将其展平。
猜你喜欢
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
  • 2019-12-02
  • 1970-01-01
  • 2016-09-17
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
相关资源
最近更新 更多