2016-01-22 23 views

Odpowiedz

8

Korzystanie dopasowywania wzorców nad :

import org.apache.spark.sql.Row 

myDF.map{case Row(a: String, b: Int) => (a, b)} 

W Spark 1.6 + można użyć Dataset następująco:

myDF.as[(String, Int)].rdd 
+2

Ooh, że 'as' funkcja jest idealna. –

+0

Czy Twój wzór pasujący do 'Row' będzie szybszy lub bezpieczniejszy niż moja mapa' asInstanceOf'? Czy może sprowadza się do dość podobnej operacji z czystszą składnią? –

+0

Druga opcja obawiam się. 'Row' (i ogólnie DataFrame) jest dość irytujące, jeśli chodzi o pisanie statyczne. Używanie 'Dataset' powinno być znacznie bardziej wydajne, szczególnie jeśli nie konwertujesz na RDD. – zero323

Powiązane problemy