首页 > 后端开发 > Python教程 > 如何在 Apache Spark 中复制 IF then ELSE 语句?

如何在 Apache Spark 中复制 IF then ELSE 语句?

Susan Sarandon
发布: 2024-11-16 06:34:03
原创
1079 人浏览过

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

IF Then ELSE 的 Spark 等效项

在 Spark 中,您可以使用when() 函数将条件表达式应用于列。此函数允许您为不同的条件指定 true 和 false 值。

代码错误和解决方案

您的代码抛出错误,因为您错误地使用了 when()功能。 when() 的正确语法是:

when(condition, value).when(...)
登录后复制

when(condition, value).otherwise(...)
登录后复制

在您的代码中,您向when() 函数提供了三个参数,这是不正确的。要解决此问题,您需要按如下方式重写代码:

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)
)
登录后复制

等效 SQL 表达式

Spark when() 函数相当于中的 CASE 语句SQL:

CASE
    WHEN (iris_class = 'Iris-setosa') THEN 0
    WHEN (iris_class = 'Iris-versicolor') THEN 1
    ELSE 2
END
登录后复制

以上是如何在 Apache Spark 中复制 IF then ELSE 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板