Ich bin vor kurzem von Spark 1.6 zu Spark 2.X gewechselt und möchte - wenn möglich - auch von Dataframes zu Datasets wechseln. Ich habe versucht, einen Code wie dieseDataframe to Dataset mit dem Typ Beliebig
case class MyClass(a : Any, ...)
val df = ...
df.map(x => MyClass(x.get(0), ...))
Wie Sie sehen können MyClass
ein Feld vom Typ haben Any
, wie ich bei der Kompilierung nicht wissen, die Art des Feldes I mit x.get(0)
abrufen. Es kann ein langer, string, int, etc. sein
Allerdings, wenn ich versuchen, Code auszuführen, ähnlich dem, was Sie oben sehen, ich eine Ausnahme erhalten:
java.lang.ClassNotFoundException: scala.Any
Mit einigen Debugging, erkannte ich, dass Die Ausnahme wird ausgelöst, nicht weil meine Daten vom Typ Any
sind, sondern weil MyClass
einen Typ Any
hat. Wie kann ich dann Datasets verwenden?