小编The*_*ian的帖子

如何将RDD [Row]转换回DataFrame

我一直在玩转换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)

scala dataframe apache-spark rdd

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

apache-spark ×1

dataframe ×1

rdd ×1

scala ×1