5
例如,假設我有數據幀:Apache Spark:如何將Spark DataFrame轉換爲類型爲RDD [(Type1,Type2,...)]的RDD?
var myDF = sc.parallelize(Seq(("one",1),("two",2),("three",3))).toDF("a", "b")
我可以用地圖將其轉換爲RDD[(String, Int)]
:
var myRDD = myDF.map(r => (r(0).asInstanceOf[String], r(1).asInstanceOf[Int]))
有沒有更好的方式來做到這一點,也許使用DF模式?
哦,那'as'功能完善。 –
所以你的模式匹配'行'比我的'asInstanceOf'地圖更快或更安全?還是它歸結爲一個相當類似的操作,語法更清晰? –
第二種選擇我很害怕。對於靜態類型來說,'Row'(和'DataFrame'一般)相當煩人。使用'數據集'應該更有效率,特別是如果你不轉換爲RDD。 – zero323