如何在 Spark 的 github 中查看 Functions.Scala 中的代码
Posted
技术标签:
【中文标题】如何在 Spark 的 github 中查看 Functions.Scala 中的代码【英文标题】:How can I see the code in Functions.Scala in Spark's github 【发布时间】: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)) 这就是我想出的。谁能确认这是否正确? 【参考方案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]
【讨论】:
以上是关于如何在 Spark 的 github 中查看 Functions.Scala 中的代码的主要内容,如果未能解决你的问题,请参考以下文章
如何指定Spark2作业中Driver和Executor使用指定范围内端口
0644-5.16.1-如何在CDH5中使用Spark2.4 Thrift
0539-5.15.0-HBase-Spark无法在Spark2编译通过问题解决