Je veux filtrer les données de Dataframe DF strong> p> 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).
col("State").isNull && (col("City").isNull || col("Name").isNull)
3 Réponses :
Vous devez utiliser SQL dans le filtre:
filter("State IS NULL AND (City IS NULL OR Name IS NULL)")
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)
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))