【发布时间】:2016-08-28 22:04:30
【问题描述】:
我一直在尝试将 RDD 转换为 DataFrame,然后再转换回来。首先,我有一个 (Int, Int) 类型的 RDD,称为 dataPair。然后我使用以下方法创建了一个带有列标题的 DataFrame 对象:
val dataFrame = dataPair.toDF(header(0), header(1))
然后我使用以下方法将它从 DataFrame 转换回 RDD:
val testRDD = dataFrame.rdd
它返回一个 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]
我尝试为 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
^
我已经导入了
import sqlContext.implicits._
【问题讨论】:
标签: scala apache-spark dataframe rdd