2017-01-05 1 views
0

J'ai une trame de données d'allumage comme ci-dessousGénérer des valeurs distinctes d'une colonne dans une trame de données d'allumage

id|name|age|sub 
1 |ravi|21 |[M,J,J,K] 

Je ne veux pas exploser sur la colonne « sous » car il va créer un jeu supplémentaire de lignes. Je veux générer des valeurs uniques à partir de la colonne "sub" et l'assigner à la nouvelle colonne sub_unique.

Ma sortie devrait être comme

id|name|age|sub_unique 
1 |ravi|21 |[M,J,K] 
+0

est 'colonne de chaîne Sub'? peut ajouter un schéma de données? – mrsrinivas

Répondre

0

Vous pouvez utiliser udf

val distinct = udf((x: Seq[String]) => if (s != null) x.distinct else Seq[String]()) 

df.withColumn("subm_unique", distinct($"sub")) 
+0

votre solution n'a pas fonctionné. Je suis en dessous de l'erreur lors de l'exécution "Les tables de hachage plates ne peuvent pas contenir d'éléments null" –