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中文网其他相关文章!