2017-08-16 3 views

Antwort

2

Sie können flatMap tun:

val df = Seq(Seq(1, 2, 3), Seq(4, 5, 6, 7)).toDF("s").as[Seq[Int]]; 
df.flatMap(x => x.toList) 

Sie können versuchen, auch Funktion explodieren:

df.select(explode('s)).select("col.*").as[Car] 

Voll Beispiel:

import org.apache.spark.sql.functions._ 
case class Car(i : Int); 
val df = Seq(List(Car(1), Car(2), Car(3))).toDF("s").as[List[Car]]; 
val df1 = df.flatMap(x => x.toList) 
val df2 = df.select(explode('s)).select("col.*").as[Car] 
+1

Vielen Dank! – pikapoo

Verwandte Themen