首页 理论教育 SparkSQL内置函数详解

SparkSQL内置函数详解

时间:2023-07-02 理论教育 版权反馈
【摘要】:从Spark 1.5.x开始,Spark SQL提供了大量的内置函数。Spark SQL内置函数包括聚合函数、集合函数、日期时间函数、数学函数、窗口函数、字符串函数、其他函数等各类函数。7)其他函数,例如isNan、sha1、randn、callUDF等。表5-1 内置函数中最为常见的聚合函数

SparkSQL内置函数详解

从Spark 1.5.x开始,Spark SQL提供了大量的内置函数。使用时只需导入org.apache.spark.sql.functions即可。Spark SQL内置函数包括聚合函数、集合函数、日期时间函数、数学函数、窗口函数、字符串函数、其他函数等各类函数。比如,在处理业务数据时,我们通常离不开agg聚合函数,使用count、sum、avg、max、min等操作,需要对数据的某些列进行分组,基于这些操作我们可以完成例如时间范围内商品销量统计、实时性气象指标统计甚至更为复杂的数据分析。在DataFrame的API中有许多重载的agg函数,下面是Spark 1.6.0下DataFrame类中agg函数的定义:

def agg(expr:Column,exprs:Column∗):DataFrame=groupBy().agg(expr,exprs:_∗)

通过这段定义大致可以看出DataFrame的agg方法都需要先执行调用groupBy方法:

978-7-111-59197-9-Chapter05-1.jpg

groupBy函数的返回值为GroupedData,然后转过来再调用GroupedData类中的agg方法:

978-7-111-59197-9-Chapter05-2.jpg

在org.apache.spark.sql.functions包下提供了大量的内置函数供开发者使用,总体上可以包含如下类型:

1)聚合函数,例如countDistinct、sumDistinct等。

2)集合函数,例如sort_array、explode等。(www.xing528.com)

3)日期时间函数,例如hour、quarter、next_day等。

4)数学函数,例如asin、atan、sqrt、tan、round等。

5)窗口函数,例如row_number、rank等。

6)字符串函数,例如concat、format_number、regexp_extract等。

7)其他函数,例如isNan、sha1、randn、callUDF等。

表5-1列出了内置函数中最为常见的agg聚合函数,其他函数可以查阅源代码org.apache.spark.sql.functions。

5-1 内置函数中最为常见的聚合函数

978-7-111-59197-9-Chapter05-3.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈