Heim > Datenbank > MySQL-Tutorial > Wie verwende ich die IN-Klausel richtig zum Filtern von Pyspark-DataFrames?

Wie verwende ich die IN-Klausel richtig zum Filtern von Pyspark-DataFrames?

Susan Sarandon
Freigeben: 2024-12-27 18:31:20
Original
594 Leute haben es durchsucht

How to Correctly Use the IN Clause for Filtering Pyspark DataFrames?

Filtern eines Pyspark-DataFrames mit einer SQL-ähnlichen IN-Klausel: Behebung des Syntaxfehlers

Beim Versuch, einen Pyspark-DataFrame mithilfe einer SQL- Wie bei der IN-Klausel kann es zu einem Syntaxfehler kommen, wenn die Werte der IN-Klausel nicht in einfache Anführungszeichen gesetzt werden. Um dieses Problem zu beheben, übergeben Sie die Werte explizit als Zeichenfolge in der SQL-Abfrage.

Lösung:

Anstatt die Werte direkt als Tupel anzugeben, verwenden Sie Zeichenfolgenformatierung um die Werte in die SQL-Abfrage einzubinden. Zum Beispiel:

df = sqlc.sql("SELECT * FROM my_df WHERE field1 IN {}".format(str((1, 2, 3))))
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass die Werte im Kontext der SQL-Umgebung ausgewertet und vom SQL-Parser korrekt verarbeitet werden.

Alternativer Ansatz: Verwendung des Spark DataFrame-API

Spark bietet über seine Dataframe-API auch eine bequemere Möglichkeit, DataFrames mithilfe der IN-Klausel zu filtern. Dieser Ansatz wird aufgrund seiner Einfachheit und Aussagekraft im Allgemeinen bevorzugt.

from pyspark.sql.functions import col

df.where(col("field1").isin((1, 2, 3))).count()
Nach dem Login kopieren

Hier verwendet die Funktion isin() ein Tupel oder Array als Argument und prüft, ob jeder Wert in der Spalte „field1“ in der Eingabeliste vorhanden ist . Diese Methode ist sowohl prägnant als auch bietet eine Reihe leistungsstarker Datenmanipulationsoperationen.

Das obige ist der detaillierte Inhalt vonWie verwende ich die IN-Klausel richtig zum Filtern von Pyspark-DataFrames?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage