Fall, wenn-statement mit IN-Klausel in Pyspark
Ich bin neu zu entfachen, Programmierung und haben ein Szenario, um einen Wert zuweisen, wenn eine Reihe von Werten angezeigt, die in meinem Eingang. Unten ist eine tradition, die SQL-code, den ich verwenden würde, um die Aufgabe abzuschließen. Tun müssen die gleichen Zündkerzen.
Sql-Code:
SELECT CASE WHEN c.Number IN ( '1121231', '31242323' ) THEN 1
ELSE 2 END AS Test
FROM Input c
Ich bin mir bewusst, mit when
Zündkerzen mit nur einem Zustand.
Input.select(when(Input.Number==1121231,1).otherwise(2).alias("Test")).show()
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nehme an, Sie arbeiten mit Spark DataFrames, nicht RDDs. Eine Sache zu beachten ist, dass Sie können ausführen von SQL-Abfragen direkt auf einen DataFrame:
Können Sie auch
select
durch die Schaffung einer Benutzer-definierte Funktion, die imitiert Ihre Abfrage ist case-Anweisung:rdd = df.rdd; rdd.map(lambda x: x.transform).collect()
.