La création d'un simple 1-ligne Spark DataFrame avec l'API Java
En Scala, je peux créer une seule ligne DataFrame à partir d'une mémoire de la chaîne comme suit:
val stringAsList = List("buzz")
val df = sqlContext.sparkContext.parallelize(jsonValues).toDF("fizz")
df.show()
Quand df.show()
s'exécute, il sorties:
+-----+
| fizz|
+-----+
| buzz|
+-----+
Maintenant, je suis en train de le faire à partir de l'intérieur d'une classe Java. Apparemment JavaRDD
s n'avez pas de toDF(String)
méthode. J'ai essayé:
List<String> stringAsList = new ArrayList<String>();
stringAsList.add("buzz");
SQLContext sqlContext = new SQLContext(sparkContext);
DataFrame df = sqlContext.createDataFrame(sparkContext
.parallelize(stringAsList), StringType);
df.show();
...mais il semble toujours à venir à court. Maintenant, quand df.show();
exécute, j'obtiens:
++
||
++
||
++
(Vide DF.) Alors je vous le demande: à l'Aide de la API Java, comment puis-je lire un mémoire de chaîne dans un DataFrame qui a seulement 1 ligne et 1 colonne, et de spécifier le nom de cette colonne? (De sorte que le df.show()
est identique à la Scala, l'un au-dessus)?
OriginalL'auteur smeeb | 2016-10-10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez atteindre cet objectif par la création d'une Liste de Rdd et de créer Schéma qui va contenir le nom de colonne.
Il pourrait y avoir d'autres façons, c'est juste l'un d'eux.
L'homme désolé je n'ai pas.
OriginalL'auteur cody123
J'ai créé 2 exemples pour Spark 2 si vous avez besoin de mettre à niveau:
Simple Fizz/Buzz (ou ennemi/bar - vieille génération 🙂 ):
2x2 données:
Code peut être téléchargé à partir de: https://github.com/jgperrin/net.jgp.labs.spark.
vous changer votre schéma. il devrait faire l'affaire.
OriginalL'auteur jgp