spark functions函数合集(无示例)

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
相关推荐
上海研博数据9 分钟前
使用Flink-JDBC将数据同步到Doris
大数据·flink
十六ᵛᵃᵉ1 小时前
day07_Spark SQL
大数据·sql·spark
W_Meng_H2 小时前
ElasticSearch-Nested 类型与 Object 类型的区别
大数据·elasticsearch·搜索引擎
要养家的程序猿2 小时前
ElasticSearch在Windows环境搭建&测试
大数据·elasticsearch·搜索引擎
拓端研究室2 小时前
【专题】2025年节日营销趋势洞察报告汇总PDF洞察(附原数据表)
大数据
摇光~2 小时前
【数据仓库】— 5分钟浅谈数据仓库(适合新手)从理论到实践
大数据·数据库·数据仓库·spark·etl
yuanbenshidiaos3 小时前
【大数据】机器学习-----最开始的引路
大数据·人工智能·机器学习
FF在路上3 小时前
RabbitMQ高级特性
分布式·微服务·rabbitmq
weixin_307779134 小时前
PySpark用sort-merge join解决数据倾斜的完整案例
大数据·python·spark
字节跳动数据平台4 小时前
“数据飞轮” 理念焕新,助力 2025 企业数智化发展
大数据