【发布时间】:2023-03-29 18:12:02
【问题描述】:
我最近从 Spark 1.6 迁移到了 Spark 2.X,并且我也想在可能的情况下从 Dataframes 迁移到 Datasets。我试过这样的代码
case class MyClass(a : Any, ...)
val df = ...
df.map(x => MyClass(x.get(0), ...))
如您所见,MyClass 有一个类型为Any 的字段,因为在编译时我不知道我使用x.get(0) 检索的字段的类型。可以是long、string、int等。
但是,当我尝试执行类似于您在上面看到的代码时,我得到了一个异常:
java.lang.ClassNotFoundException: scala.Any
通过一些调试,我意识到引发了异常,不是因为我的数据是Any 类型,而是因为MyClass 具有Any 类型。那么我该如何使用数据集呢?
【问题讨论】:
标签: apache-spark dataframe apache-spark-sql apache-spark-dataset