Как преобразовать RDD [Row] обратно в DataFrame [duplicate]

На этот вопрос уже есть ответ здесь:

Как преобразовать объект rdd в dataframe в спарк 10 ответов

Я играл с преобразованием RDD в DataFrames и обратно. Во-первых, у меня был RDD типа (Int, Int), называемый dataPair. Затем я создал объект DataFrame с заголовками столбцов, используя:

val dataFrame = dataPair.toDF(header(0), header(1))

Затем я преобразовал его из DataFrame обратно в RDD, используя:

val testRDD = dataFrame.rdd

который возвращает СДР типа org.apache.spark.sql.Row (не (Int, Int)). Затем я хотел бы преобразовать его обратно в RDD, используя .toDF, но я получаю ошибку:

error: value toDF is not a member of org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]

Я попытался определить схему типа данных (Int, Int) для testRDD, но я получаю исключения несоответствия типов:

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._

Ответы на вопрос(1)

Ваш ответ на вопрос