我试图在我的scala-spark代码中使用NVL2和NULLIF spark sql函数,但是它不起作用。
这就是我看到的- 下面的语句可以正常工作并返回正确的结果
spark.sql("select columnName, NULLIF(columnName, 'abc') as status from df")
但是,此语句失败,并在错误以下返回-
df.withColumn('status', NULLIF(columnName, 'abc'))
error: not found: value 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代码中,但没有任何帮助。
答案 0 :(得分:0)
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子句组合以设置值。
希望对您有帮助。