Spark 2.0 Scala - RDD.toDF()
Je suis en train de travailler avec Spark 2.0 Scala. Je suis en mesure de convertir un EDR pour un DataFrame à l'aide de la toDF() la méthode.
val rdd = sc.textFile("/pathtologfile/logfile.txt")
val df = rdd.toDF()
Mais pour la vie de moi je ne trouve pas où c'est dans les docs de l'API. Il n'est pas en vertu de la RDD. Mais c'est sous DataSet (lien 1). Mais j'ai un RDD pas un jeu de données.
Aussi je ne peux pas le voir sous implicites (lien 2).
Merci donc de m'aider à comprendre pourquoi toDF() peut être appelée pour mon RDD. Où est cette méthode héritée de la?
Où êtes-vous appeler cela? spark-shell?
Oui. Juste une Étincelle de l'installation et de l'exécution de mon script scala en appuyant sur - ./bin/spark-shell --master locales[2] -i /pathtomyscale/monfichier.scala
Oui. Juste une Étincelle de l'installation et de l'exécution de mon script scala en appuyant sur - ./bin/spark-shell --master locales[2] -i /pathtomyscale/monfichier.scala
OriginalL'auteur Carl | 2016-08-16
Vous devez vous connecter pour publier un commentaire.
Ça vient d'ici:
Spark 2 API
Explication: si vous importez
sqlContext.implicits._
, vous avez une méthode implicite pour convertirRDD
àDataSetHolder
(rddToDataSetHolder
), puis vous appeleztoDF
sur leDataSetHolder
OriginalL'auteur Raphael Roth
Oui, vous devez importer les sqlContext implicites comme ça:
Avant d'appeler à "toDF" dans votre RDDs
Ce qui concerne.
mm.. ok, désolé, j'ai bien compris votre question. J'ai trouver là où il est, et est dans le Dataset.scala, mais je ne sais pas comment est importé :S github.com/apache/spark/blob/master/sql/core/src/main/scala/org/...
OriginalL'auteur DanielVL
Oui j'ai enfin trouvé le morceau d'esprit, de cette question. Il est troublant de moi comme l'enfer, ce post est un épargnant de vie. J'ai essayé par le terme générique de charger des données à partir de fichiers journaux vers un cas d'objet de classe rendant mutable Liste, cette idée a été pour enfin convertir la liste dans DF. Cependant, comme il a été mutable et Étincelle 2.1.1 a changé la toDF mise en œuvre, ce que jamais, pourquoi la liste de veulent pas se convertir. J'ai finalement pensé couvre même enregistrer les données dans un fichier et le charger à l'arrière à l'aide .lire. Toutefois, à 5 min de retour ce post a sauvé ma journée.
J'ai fait exactement de la même manière comme décrit.
après le chargement des données à mutable liste, je l'ai immédiatement utilisé
OriginalL'auteur user3749126