[英]sum MADlib UDF Spark SQL
我对如何做到这一点有点迷茫。 我正在实现求和函数 MADlib。 此函数采用任意数量的数组并添加:
sum ( array [ 1,2] , array [2,3 ] , array [4,5 ] )
Return : [7,10]
我想从下一个语句创建一个函数返回相同的结果,但不是如何实现这样的:
def sum[T](args: WrappedArray[T]*)(implicit n: Numeric[T]) = {
var i : Int = 0;
for( arg <- args ){
// Code
i = i + 1;
}
}
sqlContext.udf.register("sum", sum(_:WrappedArray[Int]*))
sqlContext.sql("SELECT sum(collect_list(a),collect_list(b),collect_list(c)) from df").show
def sum[T](args: WrappedArray[T]*)(implicit n: Numeric[T]) = {
args.transpose.map(_.sum)
}
sum(Array(1, 2), Array(2, 3), Array(4, 5)) // ArrayBuffer(7, 10)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.