Comment puis-je récupérer une seule colonne dans la Spark?
Je voudrais effectuer une action sur une seule colonne.
Malheureusement, après je transforme la colonne, il n'est plus maintenant une partie de la dataframe il est venu, mais un objet de Colonne. En tant que tel, il ne peut pas être collectées.
Voici un exemple:
df = sqlContext.createDataFrame([Row(array=[1,2,3])])
df['array'].collect()
Ce qui produit l'erreur suivante:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'Column' object is not callable
Comment puis-je utiliser le collect()
fonction sur une seule colonne?
OriginalL'auteur Michal | 2016-02-19
Vous devez vous connecter pour publier un commentaire.
Il suffit de sélectionner et
flatMap
:Modifier 23/1/2017
À partir de l'Étincelle 2.0.0 vous devez explicitement spécifier
.rdd
afin d'utiliserflatMap
Thats droit.
Column
est juste un SQL DSL de l'expression non autonome structure de données.Quel est l'équivalent en spark 2.0? Je ne peux pas voir flatMap comme une méthode sur DataFrame
vous avez besoin de transmettre explicitement
.rdd
maintenant. Une fois qu'il a été enveloppé dans de la. par exemple,df.select("array").rdd.flatMap(lambda x: x).collect()
OriginalL'auteur zero323