我一直在玩转换RDD到DataFrames然后再回来.首先,我有一个名为dataPair的类型(Int,Int)的RDD.然后我创建了一个带有列标题的DataFrame对象:
val dataFrame = dataPair.toDF(header(0), header(1))
Run Code Online (Sandbox Code Playgroud)
然后我使用以下命令将其从DataFrame转换回RDD:
val testRDD = dataFrame.rdd
Run Code Online (Sandbox Code Playgroud)
返回类型为org.apache.spark.sql.Row的RDD(不是(Int,Int)).然后我想用.toDF将它转换回RDD,但是我收到一个错误:
error: value toDF is not a member of org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]
Run Code Online (Sandbox Code Playgroud)
我已经尝试为testRDD定义类型Data(Int,Int)的Schema,但是我得到了类型不匹配的异常:
error: type mismatch;
found : org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]
required: org.apache.spark.rdd.RDD[Data]
val testRDD: RDD[Data] = dataFrame.rdd
^
Run Code Online (Sandbox Code Playgroud)
我已经进口了
import sqlContext.implicits._
Run Code Online (Sandbox Code Playgroud)