Wie konvertiere ich die Zeile eines Scala-Datenrahmens am effizientesten in eine Fallklasse?

Wenn ich in Spark eine Zeilenklasse habe, entweder Dataframe oder Catalyst, möchte ich sie in meinem Code in eine case-Klasse konvertieren. Dies kann durch Matching von @ erfolge

someRow match {case Row(a:Long,b:String,c:Double) => myCaseClass(a,b,c)}

Aber es wird hässlich, wenn die Zeile eine große Anzahl von Spalten enthält, z. B. ein Dutzend Doubles, einige Booleaner und gelegentlich sogar Null.

Ich möchte nur in der Lage sein, Row zu myCaseClass zu übertragen. Ist das möglich oder habe ich schon die sparsamste Syntax?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage