0
votes

Comment passer la variable de chaîne comme une condition dans le filtre Dataframe?

Je veux filtrer les données de dataframe code> df code> sur la base ci-dessous la condition. En raison de quelques exigences, j'ai besoin de transmettre cette condition à l'aide du fichier de configuration (ou en tant que variable de chaîne).

Dataframe DF strong> p>

col("State").isNull && (col("City").isNull || col("Name").isNull)


0 commentaires

3 Réponses :


0
votes

Vous devez utiliser SQL dans le filtre:

filter("State IS NULL AND (City IS NULL OR Name IS NULL)")


0 commentaires

0
votes

Cela aiderait-il:

val queryToExeFromConf = "SELECT * FROM MyTempView WHERE State IS NULL AND (City IS NULL OR Name IS NULL)"
df.createOrReplaceTempView("MyTempView")
val filteredDF = df.sparkSession.sql(queryToExeFromConf)


0 commentaires

-1
votes

Je suppose que vous voulez filtrer les enregistrements où "l'état" et "ville / nom" sont nuls. Essayez la solution ci-dessous -

df.filter(!col("State").isNull && !col("City").isNull.or(col("Name").isNull))


0 commentaires