【问题标题】:How can I see the code in Functions.Scala in Spark's github如何在 Spark 的 github 中查看 Functions.Scala 中的代码
【发布时间】:2016-06-20 12:51:44
【问题描述】:

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 = {}

【问题讨论】:

  • def stddev(columnName: Column): Column = { sqrt(avg(columnName * columnName) - avg(columnName) * avg(columnName)) } 这就是我想出的。谁能确认这是否正确?

标签: scala apache-spark udf


【解决方案1】:

您可以在聚合中使用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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-12
    • 2022-12-02
    • 2023-03-15
    • 2020-08-15
    • 2021-08-04
    • 2021-11-24
    • 2011-12-07
    • 1970-01-01
    相关资源
    最近更新 更多