Spark: Ajouter une colonne à l'image de données conditionnellement
J'essaie de prendre mes données d'entrée:
A B C
--------------
4 blah 2
2 3
56 foo 3
Et ajouter une colonne à la fin, selon si B est vide ou pas:
A B C D
--------------------
4 blah 2 1
2 3 0
56 foo 3 1
Je peux le faire facilement par l'enregistrement de l'entrée dataframe comme une table temporaire, puis en tapant une requête SQL.
Mais j'aimerais vraiment savoir comment le faire avec Scala de méthodes et de ne pas avoir à taper une requête SQL au sein de la Scala.
J'ai essayé .withColumn
mais je n'arrive pas à faire ce que je veux.
source d'informationauteur mcmcmc
Vous devez vous connecter pour publier un commentaire.
Essayer
withColumn
avec la fonctionwhen
comme suit:newDf.show()
montreJ'ai ajouté le
(100, null, 5)
ligne pour l'examen de laisNull
cas.J'ai essayé ce code avec
Spark 1.6.0
mais comme commenté dans le code dewhen
il fonctionne sur les versions après1.4.0
.My bad, j'avais raté une partie de la question.
Meilleur, le plus propre est d'utiliser un
UDF
.Explication dans le code.
Comment quelque chose comme cela?
À l'aide de
take(1)
doit avoir un minimum de frapper