Maison > développement back-end > Tutoriel Python > Comment répliquer une instruction IF Then ELSE dans Apache Spark ?

Comment répliquer une instruction IF Then ELSE dans Apache Spark ?

Susan Sarandon
Libérer: 2024-11-16 06:34:03
original
1042 Les gens l'ont consulté

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

Équivalent Spark de IF Then ELSE

Dans Spark, vous pouvez appliquer des expressions conditionnelles aux colonnes à l'aide de la fonction when(). Cette fonction vous permet de spécifier des valeurs vraies et fausses pour différentes conditions.

Erreur de code et solution

Votre code génère une erreur car vous n'utilisez pas correctement le when() fonction. La syntaxe correcte pour when() est :

when(condition, value).when(...)
Copier après la connexion

ou

when(condition, value).otherwise(...)
Copier après la connexion

Dans votre code, vous avez fourni trois arguments à la fonction when(), ce qui est incorrect. Pour résoudre ce problème, vous devez réécrire votre code comme suit :

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)
)
Copier après la connexion

Expression SQL équivalente

La fonction Spark when() est équivalente à l'instruction CASE dans SQL :

CASE
    WHEN (iris_class = 'Iris-setosa') THEN 0
    WHEN (iris_class = 'Iris-versicolor') THEN 1
    ELSE 2
END
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal