Heim > Backend-Entwicklung > Python-Tutorial > Wie repliziere ich eine IF Then ELSE-Anweisung in Apache Spark?

Wie repliziere ich eine IF Then ELSE-Anweisung in Apache Spark?

Susan Sarandon
Freigeben: 2024-11-16 06:34:03
Original
1084 Leute haben es durchsucht

How to Replicate an IF Then ELSE Statement in Apache Spark?

Spark-Äquivalent von IF Then ELSE

In Spark können Sie mithilfe der Funktion when() bedingte Ausdrücke auf Spalten anwenden. Mit dieser Funktion können Sie wahre und falsche Werte für verschiedene Bedingungen angeben.

Codefehler und Lösung

Ihr Code gibt einen Fehler aus, weil Sie when() falsch verwenden. Funktion. Die korrekte Syntax für when() lautet:

when(condition, value).when(...)
Nach dem Login kopieren

oder

when(condition, value).otherwise(...)
Nach dem Login kopieren

In Ihrem Code haben Sie drei Argumente für die Funktion when() angegeben, was falsch ist. Um dies zu beheben, müssen Sie Ihren Code wie folgt umschreiben:

iris_spark_df = iris_spark.withColumn(
    "Class", 
    F.when(iris_spark.iris_class == 'Iris-setosa', 0)
    .when(iris_spark.iris_class == 'Iris-versicolor', 1)
    .otherwise(2)
)
Nach dem Login kopieren

Äquivalenter SQL-Ausdruck

Die Funktion Spark when() entspricht der CASE-Anweisung in SQL:

CASE
    WHEN (iris_class = 'Iris-setosa') THEN 0
    WHEN (iris_class = 'Iris-versicolor') THEN 1
    ELSE 2
END
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie repliziere ich eine IF Then ELSE-Anweisung in Apache Spark?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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