Spark SQL函数

上次更新: 2023-12-22
  • 主题:
  • Queries
    查看有关此主题的更多信息
  • 创建对象:
  • Developer
    User
    Admin
    Leader

您可以使用多个内置的Spark SQL函数,通过Adobe Experience Platform查询服务扩展SQL功能。 本文档列出了查询服务支持的Spark SQL函数。

有关函数的更多详细信息,包括其语法、用法和示例,请参阅 Spark SQL函数文档.

注意

并非外部文档中的所有函数都受支持。

数学和统计运算符及函数

运算符/函数 描述
% 返回两个数字的余数
* 将两个数字相乘
+ 将两个数字相加
- 减去这两个数字
/ 将两个数字相除
abs 返回输入的绝对值
acos 返回反余弦值
approx_count_distinct 返回HyperLogLog估计的基数++
approx_percentile 返回给定百分比的近似百分位值
asin 返回反正弦值
atan 返回反正切值
atan2 返回正x轴平面与坐标给定的点之间的角度
avg 返回平均值
cbrt 返回立方根
ceilceiling 返回不大于输入值的最小整数
conv 从一个基转换到另一个基
corr 返回数字之间的皮尔逊系数
cos 返回余弦值
cosh 返回双曲余弦值
cot 返回余切值
dense_rank 返回值在值组中的排名
e 返回欧拉数
exp 将e返回值的幂次方
expm1 返回e为值减去1的幂次
factorial 返回值的阶乘
floor 返回不小于值的最大整数
greatest 返回所有参数的最大值
hypot 返回给定两个值的斜率
kurtosis 返回组的峰度值
least 返回所有参数的最小值
ln 返回值的自然对数
log 返回值的对数
log10 返回值的对数(以10为单位)
log1p 返回值加1的对数
log2 返回值的对数(以2为单位)
max 返回表达式的最大值
mean 返回从值中计算出的平均值
min 返回表达式的最小值
monotonically_increasing_id 返回单调递增的ID
negative 返回否定值
percent_rank 返回值的百分比排名
percentile 返回给定百分比的精确百分位数
percentile_approx 返回给定百分比的近似百分位数
pi 返回pi
pmod 返回两个值之间的正模
positive 返回正值
powpower 将第一个值返回为第二个值的幂
radians 将值转换为弧度
rand 返回从0到1的随机数
randn 返回随机值
rint 返回最接近的双精度值
round 返回最接近的舍入值
signsignum 返回数字的符号
sin 返回值的正弦
sinh 返回值的双曲正弦
sqrt 返回值的平方根
stddev 返回值的标准偏差
sttdev_pop 返回值的总体标准偏差
stddev_samp 返回值的样本标准偏差
sum 返回值的总和
tan 返回值的正切
tanh 返回值的双曲正切
var_pop 返回计算得出的总体方差
var_sampvariance 返回计算的样本方差

逻辑运算符和函数

运算符/函数 描述
!not 逻辑非
< 小于
<= 小于或等于
= 等于
> 大于
>= 大于或等于
^ 按位独占或
| 按位或
~ 按位not
arrays_overlap 返回公共元素
assert_true 断言表达式是否为true
if 如果表达式的计算结果为true,则返回第二个表达式。 否则,返回第三个表达式。
ifnull 如果表达式为null,则返回第二个表达式。 否则,将返回第一个表达式。
in 如果第一个表达式位于任何后续表达式中,则返回true。
isnan 如果值不是数字,则返回true
isnotnull 如果值不为null,则返回true
isnull 如果值为空,则返回true
nanvl 返回第一个表达式(如果不是数字),否则返回第二个表达式
or 逻辑或
when 何时可用于创建分支条件进行比较
xpath_boolean 如果XPath表达式的计算结果为true或找到匹配的节点,则返回true

日期/时间函数

函数 描述
add_months 在日期中添加月份
date_add 在日期中添加天数
date_format 修改日期格式
date_sub 从日期减去天数
date_trunc 返回截断为指定单位的日期
datediff 返回日期之间的天数差
daydayofmonth 返回月中日
dayofweek 返回星期几(1-7)
dayofyear 返回年中哪天
from_unixtime 以UNIX®时间返回日期
from_utc_timestamp 以UTC时间返回日期
hour 返回输入的小时数
last_day 返回日期所属月份的最后一天
minute 返回输入的分钟数
month 返回输入的月份
months_between 月数介于
next_day 返回比输入晚的第一天
quarter 返回输入的季度
second 返回字符串的秒数
to_date 将字符串转换为日期。 注意: 字符串 必须 采用格式 yyyy-mm-ddTHH24:MM:SS.
to_timestamp 将字符串转换为时间戳。 注意: 字符串 必须 采用格式 yyyy-mm-ddTHH24:MM:SS.
to_unix_timestamp 将字符串转换为UNIX®时间戳
to_utc_timestamp 将字符串转换为UTC时间戳
trunc 截断日期
unix_timestamp 返回UNIX®时间戳
weekday 星期几(0-6)
weekofyear 返回给定日期在一年中的哪一周
year 返回字符串的年份

数组

函数 描述
array 创建具有给定元素的数组
array_contains 检查数组是否包含值
array_distinct 从数组中删除重复的值
array_except 返回第一个数组中元素的数组,但不返回第二个数组中的元素数组
array_intersect 返回两个数组的交集
array_join 将两个数组连接在一起
array_max 返回数组的最大值
array_min 返回数组的最小值
array_position 返回元素从1开始的位置
array_remove 删除与该元素相等的所有元素
array_repeat 创建一个包含已计数次数的值的数组
array_sort 对数组排序
array_union 将数组连接在一起,没有任何重复项
arrays_zip 将给定数组的值与给定索引处的原始集合的值组合在一起
cardinality 返回数组的大小
element_at 返回位置的元素
explode 将数组的元素分隔为多行,不包括null
explode_outer 将数组的元素分隔为多个行,包括null
find_in_set 返回数组的从1开始的位置
flatten 拼合阵列阵列
inline 将结构数组分隔到表中,不包括null
inline_outer 将结构数组分隔到表中,包括空值
posexplode 将数组的元素分隔为多个具有位置的行,但不包括null
reverse 反转数组的元素
shuffle 返回数组的随机置换
slice 将数组设为子集
sort_array 按顺序对数组排序
zip_with 在应用函数之前,将两个数组合并到单个数组中

数据类型转换函数

函数 描述
bigint 将数据类型更改为bigint
binary 将数据类型更改为二进制
boolean 将数据类型更改为布尔值
type 将数据类型更改为指定的类型
date 将数据类型更改为日期
decimal 将数据类型更改为小数
double 将数据类型更改为双精度类型
float 将数据类型更改为浮点数
int 将数据类型更改为int
smallint 将数据类型更改为smallint
str_to_map 从字符串创建映射
string 将数据类型更改为字符串
struct 创建结构
tinyint 将数据类型更改为tinyint

转换和格式化函数

函数 描述
ascii 返回数字(ASCII)值
base64 将参数更改为base64字符串
bin 将参数更改为二进制值
bit_length 返回位长度
charchr 返回ASCII字符
char_lengthcharacter_length 返回字符串长度
crc32 返回循环冗余检查值
degrees 将弧度转换为度
format_number 更改号码的格式
from_jsonget_json_object 从JSON获取数据
hash 返回哈希值
hex 将参数转换为十六进制值
initcap 将字符串更改为字首大写
lcaselower 将字符串更改为全部小写
lpad 垫住线条的左侧
map 创建映射
map_from_arrays 从数组创建映射
map_from_entries 从结构数组创建映射
md5 返回md5值
rpad 垫住线条的右侧
rtrim 删除尾随空格
shasha1 返回SHA1值
sha2 返回SHA2值
soundex 返回soundex代码
stack 将值分隔为行
substrsubstring 返回子字符串
to_json 返回JSON字符串
translate 替换字符串中的值
trim 删除前导和尾随字符
ucaseupper 将字符串更改为全部大写
unbase64 将base64字符串转换为二进制
unhex 将十六进制转换为二进制
uuid 返回UUID

数据评估

函数 描述
coalesce 返回第一个非空参数
collect_list 返回非唯一元素的列表
collect_set 返回一组唯一元素
concat 串联
concat_ws 与分隔符连接
count 返回行的总计数
decode 使用字符集解码
elt 返回 n输入
encode 使用字符集进行编码
firstfirst_value 返回第一个值
grouping 指示列是否已分组
grouping_id 返回分组级别
instr 返回从1开始的字符出现索引
json_tuple 从JSON输入返回元组
laglead 返回偏移之前的值
lastlast_value 返回最后一个值
left 返回第一个 n 个字符
length 返回字符串的长度
levenshtein 返回字符串之间的列文氏距离
locateposition 返回子字符串第一次出现的位置
map_concat 连接映射
map_keys 返回映射的键
map_values 返回映射的值
ntile 将行划分为分区
nullif 如果为true,则返回空值
nvl 如果为null,则返回值
nvl2 如果不是null,则返回值
parse_url 提取URL的一部分
rank 计算值的排名
regexp_extract 提取与正则表达式匹配的内容
regex_replace 替换匹配正则表达式的内容
repeat 返回重复的字符串
replace 替换字符串的所有实例
rollup 创建多维度汇总
row_number 分配唯一的行号
schema_of_json 返回JSON的架构
sentences 将字符串拆分为单词数组
sequence 生成元素数组
shiftleft 带符号的左位移位
shiftright 带符号的右位偏移
shiftrightunsigned 无符号位右移
size 返回数组的大小
space 返回字符串,带有 n 空间
split 拆分字符串
substring_index 返回子字符串的索引
window 窗口
xpath 解析XML节点
xpath_doublexpath_number 解析XML节点以获取双精度类型
xpath_float 解析浮点的XML节点
xpath_int 解析XML节点的整数
xpath_long 长时间解析XML节点
xpath_short 分析短整数的XML节点
xpath_string 解析字符串的XML节点

当前信息

函数 描述
current_database 返回当前数据库
current_date 返回当前日期
current_timestampnow 返回当前时间戳

高阶函数

函数 描述
transform 变换数组中的元素
exists 检查元素是否存在
filter 筛选输入数组
aggregate 将二进制运算符应用于所有元素

在此页面上