我想将Spark SQL函数分配给变量。 例如:
val func = org.apache.spark.sql.functions.max(_)
现在,这是执行部分功能的方法。但是当我这样做时,会出现以下错误:
Cannot resolve overloaded method max
在线搜索,找不到解决方案。有人有主意吗?
答案 0 :(得分:2)
注意max是一个重载函数:
所以:
import org.apache.spark.sql.Column
scala> val func: Column => Column = org.apache.spark.sql.functions.max
func: org.apache.spark.sql.Column => org.apache.spark.sql.Column = <function1>
或
scala> val func: String => Column = org.apache.spark.sql.functions.max
func: String => org.apache.spark.sql.Column = <function1>
出于兴趣,为什么要这样做?