2016-01-22 208 views

回答

8

使用模式匹配在:

import org.apache.spark.sql.Row 

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

火花1.6+可以使用Dataset如下:

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

哦,那'as'功能完善。 –

+0

所以你的模式匹配'行'比我的'asInstanceOf'地圖更快或更安全?還是它歸結爲一個相當類似的操作,語法更清晰? –

+0

第二種選擇我很害怕。對於靜態類型來說,'Row'(和'DataFrame'一般)相當煩人。使用'數據集'應該更有效率,特別是如果你不轉換爲RDD。 – zero323

相關問題