Scala 将Spark SQL函数赋值给变量

Scala 将Spark SQL函数赋值给变量,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我想给一个变量分配一个spark SQL函数。 例如: val func = org.apache.spark.sql.functions.max(_) 现在,这是做部分函数的方法。但是当我这样做的时候,我得到了一个错误: Cannot resolve overloaded method max 在线搜索,找不到解决方案。有人有想法吗?注意max是一个重载函数: 因此,要么: import org.apache.spark.sql.Column scala> val fu

我想给一个变量分配一个spark SQL函数。 例如:

    val func = org.apache.spark.sql.functions.max(_)
现在,这是做部分函数的方法。但是当我这样做的时候,我得到了一个错误:

  Cannot resolve overloaded method max

在线搜索,找不到解决方案。有人有想法吗?

注意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>
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=

scala>val func:String=>Column=org.apache.spark.sql.functions.max
func:String=>org.apache.spark.sql.Column=

出于兴趣,为什么要这样做?

注意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>
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=

scala>val func:String=>Column=org.apache.spark.sql.functions.max
func:String=>org.apache.spark.sql.Column=

出于兴趣,您为什么要这样做?

谢谢!为什么注释使其工作?max被重载函数有什么关系呢?所以max有两种定义,
Column=>Column
String=>Column
定义类型告诉编译器我们在使用哪个别名。好的,我明白了。那么“u”参数呢?不需要提供吗?在这种情况下不需要提供。谢谢!为什么注释使其工作?max被重载函数有什么关系呢?所以max有两种定义,
Column=>Column
String=>Column
定义类型告诉编译器我们在使用哪个别名。好的,我明白了。那么“u”参数呢?不需要提供吗?在这种情况下不需要提供。