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