gpt4 book ai didi

scala - 在 Scala SparkSQL 中使用 NVL2 和 NULLIF

转载 作者:行者123 更新时间:2023-12-05 06:30:21 25 4
gpt4 key购买 nike

我正在尝试在我的 scala-spark 代码中使用 NVL2 和 NULLIF spark sql 函数,但它不起作用。

这是我看到的下面的语句工作正常并返回正确的结果

spark.sql("select columnName, NULLIF(columnName, 'abc') as status from df")

但是,这条语句失败并返回以下错误-

df.withColumn('status', NULLIF(columnName, 'abc')) 

错误:未找到:值 NULLIF

尝试在 withColumn() 语法中使用 NULLIF、NVL2、LEAST 和 GREATEST 函数时,我遇到了类似的问题。我错过了什么吗?我试过了

import org.apache.spark.sql.functions._ 
import org.apache.spark.sql.catalyst.expressions._
import org.apache.spark.sql.catalyst.analysis._

在我的 Scala 代码中,但没有任何帮助。

最佳答案

Scala Spark 函数库没有这些函数,但是 spark sql 库有这些函数。这就是您无法用作 spark 函数 API 的原因。

https://spark.apache.org/docs/2.0.2/api/java/org/apache/spark/sql/functions.html

isNull 函数存在,可以结合 when/then 子句来设置值。

希望对你有帮助。

关于scala - 在 Scala SparkSQL 中使用 NVL2 和 NULLIF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52485530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com