Wie konvertiere ich eine RDD [Zeile] zurück in einen DataFrame [duplizieren]

Diese Frage hat hier bereits eine Antwort:

So konvertieren Sie ein rdd-Objekt in einen Datenrahmen in spark 10 Antworten

Ich habe versucht, RDDs in DataFrames umzuwandeln und wieder zurück. Zuerst hatte ich eine RDD vom Typ (Int, Int) namens dataPair. Dann habe ich ein DataFrame-Objekt mit Spaltenüberschriften erstellt:

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

Dann habe ich es von einem DataFrame zurück in ein RDD konvertiert:

val testRDD = dataFrame.rdd

, das eine RDD vom Typ org.apache.spark.sql.Row zurückgibt (nicht (Int, Int)). Dann möchte ich es mit .toDF wieder in ein RDD konvertieren, bekomme aber eine Fehlermeldung:

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

Ich habe versucht, ein Schema vom Typ Data (Int, Int) für testRDD zu definieren, aber es werden Ausnahmen für Typenkonflikte angezeigt:

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
                                       ^

Ich habe bereits importiert

import sqlContext.implicits._

Antworten auf die Frage(2)

Ihre Antwort auf die Frage