So konvertieren Sie eine Fall-Klasse-basierten RDD in ein DataFrame?

Den Spark-Dokumentation veranschaulicht, wie erstellen Sie ein DataFrame von einer RDD, mit Scala case-Klassen zu schließen, ein schema. Ich bin versucht zu reproduzieren, dieses Konzept mit sqlContext.createDataFrame(RDD, CaseClass), aber mein DataFrame endet leer. Hier ist mein Scala-code:

//sc is the SparkContext, while sqlContext is the SQLContext.

//Define the case class and raw data
case class Dog(name: String)
val data = Array(
    Dog("Rex"),
    Dog("Fido")
)

//Create an RDD from the raw data
val dogRDD = sc.parallelize(data)

//Print the RDD for debugging (this works, shows 2 dogs)
dogRDD.collect().foreach(println)

//Create a DataFrame from the RDD
val dogDF = sqlContext.createDataFrame(dogRDD, classOf[Dog])

//Print the DataFrame for debugging (this fails, shows 0 dogs)
dogDF.show()

Den Ausgang bin ich zu sehen ist:

Dog(Rex)
Dog(Fido)
++
||
++
||
||
++

Was bin ich?

Dank!

InformationsquelleAutor sparkour | 2016-05-03
Schreibe einen Kommentar