Spark API RelationalGroupedDataset
有功能 agg
:
@scala.annotation.varargs
def agg(expr: Column, exprs: Column*): DataFrame = {
toDF((expr +: exprs).map {
case typed: TypedColumn[_, _] =>
typed.withInputType(df.exprEnc, df.logicalPlan.output).expr
case c => c.expr
})
}
为什么需要两个不同的论点?为什么不能只取两个参数?exprs: Column*
有谁有一个隐式函数可以接受一个参数?
这是为了确保你至少指定一个参数。
纯varargs不能做到这一点,你可以调用没有任何参数的方法。