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 |