spark functions函数合集(无示例)

devtools/2025/1/12 19:36:14/

ctrl+F进行页面查找

没有示例,仅用于查询,具体用法自行搜索

函数名称作用
avg计算指定列的平均值
count计算指定列或所有行的数量
countDistinct计算指定列中不同值的数量
corr计算两个列之间的相关系数
covar_pop计算两个列之间的总体协方差
covar_samp计算两个列之间的样本协方差
first返回指定列的第一个值(可选地忽略空值)
last返回指定列的最后一个值(可选地忽略空值)
max返回指定列的最大值
mean计算指定列的平均值(与 avg 相同)
min返回指定列的最小值
sum计算指定列的总和
sumDistinct计算指定列中不同值的总和(已弃用,推荐使用 sum_distinct
variance计算指定列的方差
stddev计算指定列的标准差
kurtosis计算指定列的峰度
skewness计算指定列的偏度
percentile_approx计算指定列的近似百分位数
abs计算指定列的绝对值
acos计算指定列的反正弦值
asin计算指定列的反正弦值
atan计算指定列的反正切值
atan2计算两个列值的反正切值
cbrt计算指定列的立方根
ceil计算指定列的最小整数(向上取整)
cos计算指定列的余弦值
cosh计算指定列的双曲余弦值
exp计算指定列的指数值(e 的幂)
factorial计算指定列的阶乘
floor计算指定列的最大整数(向下取整)
hex将指定列的二进制值转换为十六进制字符串
hypot计算两个列值的欧几里得范数(平方和的平方根)
log计算指定列的自然对数(以 e 为底)
log10计算指定列的以 10 为底的对数
log1p计算指定列的值加 1 后的自然对数
log2计算指定列的以 2 为底的对数
pmod计算两个列值的正模(取余)
pow计算指定列的幂(第一个参数的第二个参数的幂)
rand生成一个随机浮点数(0.0 到 1.0 之间)
randn生成一个符合标准正态分布的随机浮点数
round将指定列的值四舍五入到最接近的整数
shiftLeft将指定列的二进制表示向左移动指定的位数
shiftRight将指定列的二进制表示向右移动指定的位数(带符号)
shiftRightUnsigned将指定列的二进制表示向右移动指定的位数(无符号)
signum计算指定列的符号函数(-1, 0, 1)
sin计算指定列的正弦值
sinh计算指定列的双曲正弦值
sqrt计算指定列的平方根
tan计算指定列的正切值
tanh计算指定列的双曲正切值
degrees将指定列的弧度值转换为角度
radians将指定列的角度值转换为弧度
md5计算指定列的 MD5 哈希值
sha1计算指定列的 SHA-1 哈希值
sha2计算指定列的 SHA-2 哈希值
crc32计算指定列的 CRC-32 哈希值
concat连接多个列的值
concat_ws使用指定的分隔符连接多个列的值
decode使用指定的字符集解码列的值
encode使用指定的字符集编码列的值
format_number将数字格式化为指定的小数位数
format_string使用指定的格式字符串格式化多个列的值
initcap将每个单词的首字母大写
instr返回子字符串在字符串中第一次出现的位置
length返回字符串的长度
lower将字符串转换为小写
lpad用指定的填充字符串在左侧填充字符串,直到达到指定的长度
ltrim去除字符串左侧的空白字符或指定字符
regexp_extract使用正则表达式从字符串中提取匹配的子字符串
regexp_replace使用正则表达式替换字符串中的匹配部分
rpad用指定的填充字符串在右侧填充字符串,直到达到指定的长度
repeat重复字符串指定的次数
rtrim去除字符串右侧的空白字符或指定字符
soundex计算字符串的 SOUNDEX 编码
split使用指定的分隔符拆分字符串
substring提取字符串的子字符串
translate将字符串中的字符替换为指定的字符
trim去除字符串两侧的空白字符或指定字符
upper将字符串转换为大写
add_months向日期添加指定的月份数
current_date返回当前日期
current_timestamp返回当前时间戳
date_add向日期添加指定的天数
date_sub从日期减去指定的天数
datediff计算两个日期之间的天数差
year提取日期的年份部分
month提取日期的月份部分
dayofmonth提取日期的月份中的天数部分
dayofweek提取日期是一周中的第几天(1=周日)
dayofyear提取日期是一年中的第几天
hour提取时间的小时部分
minute提取时间的分钟部分
second提取时间的秒部分
weekofyear提取日期是一年中的第几周
from_unixtime将 Unix 时间戳转换为日期时间格式
unix_timestamp将日期时间字符串转换为 Unix 时间戳
to_timestamp将日期时间字符串转换为时间戳类型
to_date将日期时间字符串转换为日期类型
trunc将日期时间截断到指定的单位(如年、月、日)
from_utc_timestamp将 UTC 时间戳转换为指定时区的本地时间
to_utc_timestamp将本地时间转换为 UTC 时间戳
array_contains检查数组是否包含指定的元素
arrays_overlap检查两个数组是否有重叠的元素
slice提取数组的指定部分(子数组)
array_join将数组的元素连接成一个字符串,使用指定的分隔符
array_position返回数组中指定元素的位置(索引)
element_at返回数组中指定索引位置的元素
array_sort对数组进行排序
array_remove从数组中移除指定的元素
array_distinct返回数组中不同的元素(去重)
array_intersect返回两个数组的交集
array_union返回两个数组的并集
array_except返回第一个数组中存在但第二个数组中不存在的元素
transform对数组的每个元素应用指定的函数
exists检查数组中是否存在满足条件的元素
forall检查数组中的所有元素是否都满足条件
filter过滤数组中的元素,只保留满足条件的元素
aggregate对数组的元素进行聚合计算
zip_with将两个数组的元素组合成一个新的数组,使用指定的函数处理对应的元素
transform_keys对 Map 的每个键应用指定的函数
transform_values对 Map 的每个值应用指定的函数
map_filter过滤 Map 中的键值对,只保留满足条件的键值对
map_zip_with将两个 Map 的键值对组合成一个新的 Map,使用指定的函数处理对应的键值对
explode将数组或 Map 展开为多行
explode_outer将数组或 Map 展开为多行,包括空数组或空 Map 的情况
posexplode将数组展开为多行,同时保留元素的索引
posexplode_outer将数组展开为多行,同时保留元素的索引,包括空数组的情况
get_json_object从 JSON 字符串中提取指定的 JSON 对象
json_tuple将 JSON 字符串解析为多个字段
from_json将 JSON 字符串解析为 Spark SQL 的数据结构
to_json将 Spark SQL 的数据结构转换为 JSON 字符串
size返回数组或 Map 的大小(元素数量)
sort_array对数组进行排序(可选地指定升序或降序)
array_min返回数组中的最小值
array_max返回数组中的最大值
shuffle随机打乱数组中的元素顺序
reverse反转数组中的元素顺序
flatten将嵌套数组展平为一个单层数组
sequence生成一个由起始值到结束值的序列,可选地指定步长
array_repeat将数组重复指定的次数
map_keys返回 Map 中的所有键
map_values返回 Map 中的所有值
map_entries返回 Map 中的所有键值对(作为元组)
map_from_entries将包含键值对的数组转换为 Map
arrays_zip将多个数组的元素组合成一个新的数组,每个元素是一个包含对应位置元素的元组
map_concat将多个 Map 合并为一个新的 Map
from_csv将 CSV 字符串解析为 Spark SQL 的数据结构
to_csv将 Spark SQL 的数据结构转换为 CSV 字符串
years提取时间间隔中的年数
months提取时间间隔中的月数
days提取时间间隔中的天数
hours提取时间间隔中的小时数
bucket根据指定的列和桶数,将行分配到不同的桶中
udaf定义一个用户定义的聚合函数(UDAF)
udf定义一个用户定义的函数(UDF)
greatest返回一组表达式中的最大值
least返回一组表达式中的最小值
bitwiseNOT对数值进行按位取反操作(已弃用,推荐使用 bitwise_not
bitwise_not对数值进行按位取反操作
bitwiseAND对两个数值进行按位与操作
bitwiseOR对两个数值进行按位或操作
bitwiseXOR对两个数值进行按位异或操作
bitwiseAND (Column, Column)对两个列进行按位与操作
bitwiseOR (Column, Column)对两个列进行按位或操作
bitwiseXOR (Column, Column)对两个列进行按位异或操作
levenshtein计算两个字符串之间的莱文斯坦距离(编辑距离)
overlay用一个字符串覆盖另一个字符串的指定部分
sentences将文本拆分为句子
toDegrees将弧度转换为角度(已弃用,推荐使用 degrees
toRadians将角度转换为弧度(已弃用,推荐使用 radians
unbase64解码 Base64 编码的字符串
ascii返回字符串中第一个字符的 ASCII 码
base64对字符串进行 Base64 编码
locate返回子字符串在字符串中第一次出现的位置(可选地指定起始位置)
lpad (Column, Int, Column)用指定的填充字符串在左侧填充列,直到达到指定的长度
rpad (Column, Int, Column)用指定的填充字符串在右侧填充列,直到达到指定的长度
sentences (Column, Column, Column)使用指定的语言和国家/地区设置将文本拆分为句子
timestamp_seconds将 Unix 时间戳(以秒为单位)转换为时间戳类型
bucket (Column, Int)根据指定的列和桶数,将行分配到不同的桶中(使用哈希函数)
window定义一个时间窗口,用于窗口函数计算
session_window定义一个会话窗口,用于会话窗口函数计算
map_keys (Column)返回 Map 列中的所有键
map_values (Column)返回 Map 列中的所有值
map_entries (Column)返回 Map 列中的所有键值对(作为元组)
map_from_entries (Column)将包含键值对的数组列转换为 Map 列
array_remove (Column, Column)从数组中移除指定的列元素
array_distinct (Column)返回数组列中的不同元素(去重)
array_intersect (Column, Column)返回两个数组列的交集
array_union (Column, Column)返回两个数组列的并集
array_except (Column, Column)返回第一个数组列中存在但第二个数组列中不存在的元素
map_filter (Column, (Column, Column) => Column)过滤 Map 列中的键值对,只保留满足条件的键值对
map_zip_with (Column, Column, (Column, Column, Column) => Column)将两个 Map 列的键值对组合成一个新的 Map 列,使用指定的函数处理对应的键值对
explode (Column)将数组或 Map 列展开为多行
explode_outer (Column)将数组或 Map 列展开为多行,包括空数组或空 Map 的情况
posexplode (Column)将数组列展开为多行,同时保留元素的索引
posexplode_outer (Column)将数组列展开为多行,同时保留元素的索引,包括空数组的情况
cume_dist计算累积分布值,用于窗口函数
dense_rank计算密集排名,用于窗口函数
lag访问窗口函数中的前一行的值(可选地指定偏移量和默认值)
lead访问窗口函数中的后一行的值(可选地指定偏移量和默认值)
nth_value访问窗口函数中的第 N 个值(可选地忽略空值)
ntile将窗口中的行划分为 N 个桶,并返回每行所属的桶号
percent_rank计算百分比排名,用于窗口函数
rank计算排名,用于窗口函数(可能有空缺)
row_number计算行号,用于窗口函数(没有空缺)
asc指定排序顺序为升序(用于窗口函数或 orderBy
asc_nulls_first指定排序顺序为升序,空值排在前面(用于窗口函数或 orderBy
asc_nulls_last指定排序顺序为升序,空值排在后面(用于窗口函数或 orderBy
desc指定排序顺序为降序(用于窗口函数或 orderBy
desc_nulls_first指定排序顺序为降序,空值排在前面(用于窗口函数或 orderBy
desc_nulls_last指定排序顺序为降序,空值排在后面(用于窗口函数或 orderBy
approx_count_distinct计算近似唯一值的数量,与 approxCountDistinct 类似但推荐使用
approxCountDistinct (已弃用)计算近似唯一值的数量(已弃用,推荐使用 approx_count_distinct
collect_list将分组中的行收集到一个列表中
collect_set将分组中的不同行收集到一个集合中
covar_pop (Column, Column)计算两个列之间的总体协方差(与之前的函数类似,但参数形式不同)
covar_samp (Column, Column)计算两个列之间的样本协方差(与之前的函数类似,但参数形式不同)
grouping指示指定的列是否在 GROUP BY 子句中(用于窗口函数或聚合查询)
grouping_id计算 GROUP BY 子句中指定列的分组 ID(用于窗口函数或聚合查询)
percentile_approx (Column, Column, Column)计算指定列的近似百分位数(与之前的函数类似,但参数形式不同)
expr执行 SQL 表达式并返回结果列
case_when实现条件逻辑,类似于 SQL 中的 CASE WHEN 语句
when (与 case_when 结合使用)定义 CASE WHEN 语句中的条件分支
otherwise (与 case_when 结合使用)定义 CASE WHEN 语句中的默认分支
input_file_name返回处理当前行的输入文件的名称
isnan检查指定列的值是否为 NaN(非数字)
isnull检查指定列的值是否为 NULL
monotonically_increasing_id生成一个单调递增的唯一 ID(在分布式环境中唯一)
nanvl如果指定列的值为 NaN,则返回另一个列的值,否则返回指定列的值
negate对数值取反
not对布尔值取反
sqrt (Column)计算指定列的平方根(与之前的函数类似,但参数形式不同)
struct将多个列组合成一个结构体(类似于元组)
struct (Column, Column, …)将多个列组合成一个结构体(类似于元组)
array (Column, Column, …)将多个列组合成一个数组
map (Column, Column, …)将多个键值对列组合成一个 Map
broadcast将数据集广播到所有节点,以便在执行连接操作时提高效率
coalesce (Column, Column, …)返回第一个非 NULL 的列值
spark_partition_id返回当前行所在的 Spark 分区 ID

http://www.ppmy.cn/devtools/149954.html

相关文章

springboot整合mysql

1.首先在pom.xml中添加依赖&#xff1a; <!-- MySQL Driver --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><!-- Druid连接池 -->…

c语言提供后端,提供页面显示跳转服务

后端代码: #define SERVER_IP_ADDR "0.0.0.0" // 服务器IP地址 #define SERVER_PORT 8080 // 服务器端口号 #define BACKLOG 10 #define BUF_SIZE 8192 #define OK 1 #define ERROR 0#include <stdio.h> #include <stdlib.h> #include <st…

2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)

游泳竞技策略优化模型代码详解 第一题&#xff1a;速度优化模型 在这一部分&#xff0c;我们将详细解析如何通过数学建模来优化游泳运动员在不同距离比赛中的速度分配策略。 1. 模型概述 我们的模型主要包含三个核心文件&#xff1a; speed_optimization.py: 速度优化的核…

【Golang 面试题】每日 3 题(二十五)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

互斥信号量的等待与通知

目录 等待互斥信号量 信号量未被占用 信号量被自己占用 信号量被高优先级任务占用 信号量被低优先级任务占用 释放互斥信号量 未发生优先级继承 发生优先级继承 等待互斥信号量 信号量未被占用 标记为已经被占用锁定计数1 信号量被自己占用 锁定计数1 信号量被高优先级任务占用…

基于Linux环境的进度条实现

文章目录 前言&#x1f4da;一、预备知识&#x1f4d6;1.1 回车换行&#x1f4d6;1.2 缓冲区 &#x1f4da;二、倒计时&#x1f4d6;2.1 源代码&#x1f4d6;2.2 效果展示&#x1f4d6;2.3 注意事项&#xff1a; &#x1f4da;三、进度条&#x1f4d6;3.1 源代码&#x1f4d3;p…

微信小程序中使用weui组件库

这里只介绍官方推荐的通过useExtendedLib扩展库的方式引入&#xff0c;这种方式引入的组件将不计入代码包的大小。 app.json中配置 {"useExtendedLib": {"kbone": true,"weui": true} }在使用组件的页面的 json 文件加入 usingComponents 配置字…

jmeter使用说明

一、新建一个测试计划 二、右键测试计划&#xff0c;添加线程组 三、配置线程组 0、配置请求前预处理程序 可以进行参数加签加密等操作。&#xff08;有需求请求参数需要加密加签等操作的可以配置&#xff0c;无需求的可以不配置&#xff09; 添加BeanShell预处理程序 ${__P(…