如何解决如何最有效地将Scala DataFrame中的嵌套列字段强制转换/提取到案例类?
我有一个案例类:
案例类PA( id:长 名称:字符串, 级别:整数 ......., 路径:Seq [ParentPath] )
和ParentPath类类似:
案例类ParentPath(级别:整数,id:长,名称:字符串)
现在,当我从Hive中恢复DataFrame并将DF投射到PA时,我遇到了异常, 类强制转换异常。 错误:
java.lang.ClassCastException: org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema cannot be cast to com.abc.ParentPath
at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIterator.processNext(Unknown Source)*
我正在阅读Df,如下所示:
case Success(df) =>
Some(df.map(row =>
(row: @unchecked) match {
case (r: GenericRowWithSchema) => PA(
r.getAs[Long]("id"),r.getAs[String]("name"),r.getAs[Int]("level"),r.getAs[Seq[(Int,Long,String)]]("path").asInstanceOf[Seq[ParentPath]
)
case _ => null
铸造DF以获取内箱类数据的另一种方法是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。