Spark SQL表达式内部可用函数与相关源码

Spark SQL表达式内部可用函数与相关源码 版权声明:本文为博主原创文章,未经博主允许不得转载。 手动码字不易,请大家尊重劳动成果,谢谢 作者:http://blog.csdn.net/wang_wbq虽然标题写着是Spark SQL可用函数,但是我并不想直接把它们贴出来。代码是最好的老师,因此我要教大家自己从源码中获得这些函数。因为随着Spark的版本更新,...
摘要由CSDN通过智能技术生成

Spark SQL表达式内部可用函数与相关源码

版权声明:本文为博主原创文章,未经博主允许不得转载。

手动码字不易,请大家尊重劳动成果,谢谢

作者:http://blog.csdn.net/wang_wbq

虽然标题写着是Spark SQL可用函数,但是我并不想直接把它们贴出来。代码是最好的老师,因此我要教大家自己从源码中获得这些函数。因为随着Spark的版本更新,内置函数会越来越多,单纯把一个版本的函数列出来可能会误导他人。所以本文所介绍的内容是各版本通用的。

代码中的表达式函数

使用代码中的表达式函数

我这里所指的表达式代码中的函数即sincosisnull这种可以在表达式中编写的函数:

df.select(sin($"a").as("sin_a"), cos($"a").as("cos_a")).filter(!isnull($"sin_a"))

获取当前使用版本的表达式函数集合

这个类型的函数是定义在org.apache.spark.sql.functions伴生对象中。

在使用时,只用import org.apache.spark.sql.functions._即可使用其中的所有表达式函数。在需要使用这种类型的函数时,只需要打开这个类即可查找你所需要的函数。

比如sin函数的定义为:

  /**
   * @param e angle in radians
   * @return sine of the angle, as if computed by `java.lang.Math.sin`
   *
   * @group math_funcs
   * @since 1.4.0
   */
  def sin(e: Column): Column = withExpr { Sin(e.expr) }

  /**
   * @param columnName angle in radians
   * @return sine of the angle, as if computed by `java.lang.Math.sin`
   *
   * @group math_funcs
   * @since 1.4.0
   */
  def sin(columnName: String): Column = sin(Column(columnName))

有两个重载版本,第一个重载版本sin(e: C

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值