Como converter um RDD [Row] novamente para DataFrame [duplicate]

Esta pergunta já tem uma resposta aqui:

Como converter objeto rdd em dataframe no spark 10 respostas

Eu tenho brincado com a conversão de RDDs para DataFrames e vice-versa. Primeiro, eu tinha um RDD do tipo (Int, Int) chamado dataPair. Em seguida, criei um objeto DataFrame com cabeçalhos de coluna usando:

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

Então eu o convertei de um DataFrame de volta para um RDD usando:

val testRDD = dataFrame.rdd

que retorna um RDD do tipo org.apache.spark.sql.Row (não (Int, Int)). Gostaria de convertê-lo novamente em um RDD usando .toDF, mas recebo um erro:

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

Eu tentei definir um esquema do tipo Data (Int, Int) para testRDD, mas recebo exceções de incompatibilidade de tipo:

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
                                       ^

Eu já importei

import sqlContext.implicits._

questionAnswers(1)

yourAnswerToTheQuestion