-1
votes

Q: DataSet Flatmap pour vider Java Spark Java

Je veux laisser tomber la valeur en double de DataSet

ex: xxx

à xxx

mais

Lorsque j'utilise platmap

le résultat est xxx

mon code est xxx < P> J'utilise la carte locale pour générer la ligne distincte et l'ajouter à la liste

pourquoi le RowenCoder.apply () ne fonctionne pas?


0 commentaires

3 Réponses :


0
votes

Vous pouvez obtenir le même résultat à l'aide de Spark SQL et org.apache.spark.sql.functions:

explode_events.select(
    $"e_key",
    $"f_timestamp_day",
    $"key",
    explode(split($"value","\\^")),
    $"f_country",
    $"f_os",
    $"received_date"
).show()


0 commentaires

1
votes

Essayez ceci-

1. Chargez les données de test fournies xxx

supprimer distincte de la matrice et l'explosion xxx


1 commentaires

Merci pour votre aide, et c'est un bon moyen de résoudre mon problème.



0
votes

Utilisez la fonction Split pour scinder la valeur COL et utilisez Array_Disticnct et explosez la fonction pour obtenir le résultat.

from pyspark.sql.functions import *
#create df1
df1= df.withColumn("value",explode(array_distinct((split("VALUES","\\^")))))


0 commentaires