如何在Spark的github

时间:2016-06-20 12:51:44

标签: scala apache-spark udf

https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/functions.scala

我正在尝试为spark 1.5编写自己的UDF标准偏差,并希望看到1.6的实现。谢谢。如果这是不可能的,我将如何编写一个udf来计算给定columnName的列的标准偏差:(在scala中):

  

def stddev(columnName:String):Column = {}

1 个答案:

答案 0 :(得分:0)

您可以在聚合中使用UDF计算标准差,如下所示:

val df = sc.parallelize(Seq(1,2,3,4)).toDF("myCol")
df.show

>+-----+
>|myCol|
>+-----+
>|    1|
>|    2|
>|    3|
>|    4|
>+-----+

def stddev(col: Column): Column = sqrt(avg(col * col) - avg(col) * avg(col))
df.agg(stddev($"myCol")).first

> [1.118033988749895]