Dataframe для набора данных, который имеет тип Any
Недавно я перешел с Spark 1.6 на Spark 2.X, и я хотел бы перейти - по возможности - с Dataframes на наборы данных. Я пробовал такой код
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
, Так как же тогда использовать наборы данных?