sparksql函数大全

sparksql函数大全
最新回答
微浅笑°

2021-10-17 04:14:14

SparkSQL函数大全可分为聚合函数、集合函数、时间函数、数学函数、混合函数、字符串函数、窗口函数和其他函数八大类,具体如下:

聚合函数

用于对数据进行统计计算。approx_count_distinct可近似去重计数,适用于大数据量场景;avgmean计算平均值;collect_listcollect_set分别聚合字段值到列表或集合(后者去重);corr计算两列的Pearson相关系数;countcountDistinct分别统计总数和去重总数;covar_popcovar_samp计算总体/样本协方差;firstlast获取分组首尾元素;kurtosisskewness计算峰态和偏度;maxminsum分别求最大值、最小值和求和;stddevstddev_sampstddev_pop计算样本/总体标准差;var_popvar_sampvariance计算总体/样本方差。

集合函数

处理数组或映射类型数据。array_contains检查数组是否包含指定元素;explode将数组或映射展开为多行;explode_outer在空值时展开为null;posexplodeposexplode_outer带位置索引展开;from_jsonto_json解析或生成JSON字符串;get_json_objectjson_tuple提取JSON字段;map_keysmap_values返回映射的键或值;size计算数组或映射长度;sort_array对数组排序。

时间函数

处理日期和时间。add_months在日期上增减月份;date_adddate_sub增减天数;datediff计算两日期间隔天数;current_datecurrent_timestamp获取当前日期和时间戳。

数学函数

执行数学运算。abs取绝对值;ceilfloor向上/向下取整;loglog10log2计算对数;pow计算幂次;round四舍五入;sqrt计算平方根;sincostan等三角函数;bin将数字转为二进制字符串;hexunhex处理十六进制转换。

混合函数

提供通用逻辑支持。coalesce返回第一个非空值;ifwhen实现条件判断;greatestleast返回最大/最小值;lit将常量转为列;md5shasha1计算哈希值;randrandn生成随机数;monotonicallyIncreasingId生成递增ID;isnullisnotnull检查空值。

字符串函数

操作字符串数据。concatconcat_ws拼接字符串;length计算长度;lowerupper转换大小写;trimltrimrtrim去除空格;substring截取子串;regexp_extractregexp_replace正则匹配和替换;split按分隔符拆分字符串;translate字符替换;levenshtein计算编辑距离。

窗口函数

基于窗口分区计算。rowNumber为每行分配唯一序号;rankdenseRank计算排名(后者无间隔);leadlag访问前后行值;ntile将数据分桶;percentRank计算百分比排名;cumeDist计算累积分布。

其他函数

特殊场景函数。count_min_sketch用于基数估计;cuberollup实现多维聚合;grouping_id返回分组ID;max_bymin_by按某列最大/最小值返回对应值。