Bunu nasıl yapacağımı biraz kaybettim. MADlib toplam fonksiyonunu uyguluyorum. Bu işlev diziler, rastgele sayıda alır ve ekler:toplam MADlib UDF Spark SQL
sum (array [ 1,2] , array [2,3 ] , array [4,5 ])
Return : [7,10]
aynı sonuç döndürmek sonraki deyimi bir işlevi oluşturmak istiyor, ama böyle bir şey uygulamak için değil nasıl:
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
Bu soru çözüldü mü? – slouc