将Spark SQL函数分配给变量

时间:2018-10-29 09:22:03

标签: scala apache-spark apache-spark-sql

我想将Spark SQL函数分配给变量。 例如:

    val func = org.apache.spark.sql.functions.max(_)

现在,这是执行部分功能的方法。但是当我这样做时,会出现以下错误:

  Cannot resolve overloaded method max

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

1 个答案:

答案 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>

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