Adobe Experience Platform查询服务提供了多个内置的Spark SQL函数来扩展SQL功能。 本文档列出了查询服务支持的Spark SQL函数。
有关函数(包括其语法、用法和示例)的更多详细信息,请阅读 Spark SQL函数文档.
外部文档中并非所有函数都受支持。
运算符/函数 | 描述 |
---|---|
% |
返回两个数字的余数 |
* |
将两个数字乘以 |
+ |
将两个数字相加 |
- |
减去两个数字 |
/ |
将两个数字相除 |
abs |
返回输入的绝对值 |
acos |
返回反余弦值 |
approx_count_distinct |
返回HyperLogLog++的估计基数 |
approx_percentile |
返回给定百分比的近似百分位数值 |
asin |
返回反正弦值 |
atan |
返回反正切值 |
atan2 |
返回正x轴平面与由坐标给出的点之间的角度 |
avg |
返回平均值 |
cbrt |
返回多维数据集根 |
ceil 或 ceiling |
返回不大于输入值的最小整数 |
conv |
从一个基转换到另一个基 |
corr |
返回数字之间的皮尔逊系数 |
cos |
返回余弦值 |
cosh |
返回双曲余弦值 |
cot |
返回相切值 |
dense_rank |
返回值组中值的排名 |
e |
返回Euler数 |
exp |
返回e值的幂 |
expm1 |
返回值减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 |
返回正值 |
pow , power |
将第一个值返回为第二个值的幂 |
radians |
将值转换为弧度 |
rand |
返回介于0和1之间的随机数 |
randn |
返回随机值 |
rint |
返回最接近的双值 |
round |
返回最接近的四舍五入值 |
sign , signum |
返回数字的符号 |
sin |
返回值的正弦 |
sinh |
返回值的双曲正弦 |
sqrt |
返回值的平方根 |
stddev |
返回值的标准偏差 |
sttdev_pop |
返回值的群体标准偏差 |
stddev_samp |
返回值的示例标准偏差 |
sum |
返回值的和 |
tan |
返回值的正切 |
tanh |
返回值的双曲正切 |
var_pop |
返回计算的群体差异 |
var_samp , variance |
返回计算的示例方差 |
运算符/函数 | 描述 |
---|---|
! 或 not |
逻辑不 |
< |
小于 |
<= |
小于或等于 |
= |
等于 |
> |
大于 |
>= |
大于或等于 |
^ |
Bitwise独占或 |
| |
按位或 |
~ |
Bitwise不会 |
arrays_overlap |
返回常用元素 |
assert_true |
声明表达式为true时 |
if |
如果表达式的计算结果为true,则返回第二个表达式。 否则,返回第三个表达式。 |
ifnull |
如果表达式为null,则返回第二个表达式。 否则,返回第一个表达式。 |
in |
如果第一个表达式位于任何后续表达式中,则返回true。 |
isnan |
如果值不是数字,则返回true |
isnotnull |
如果值不为null,则返回true |
isnull |
如果值为null,则返回true |
nanvl |
如果不是数字,则返回第一个表达式,否则返回第二个表达式 |
or |
逻辑或 |
when |
何时可用于创建分支条件以进行比较 |
xpath_boolean |
如果XPath表达式的计算结果为true或找到匹配的节点,则返回true |
函数 | 描述 |
---|---|
add_months |
迄今添加月份 |
date_add |
添加至今的天数 |
date_format |
修改日期格式 |
date_sub |
从日期减去天数 |
date_trunc |
返回截断到指定单位的日期 |
datediff |
返回日期之间的差值(以天为单位) |
day , dayofmonth |
返回一个月中的某天 |
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 |
将结构数组分离到表中,包括null |
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 |
返回位长度 |
char , chr |
返回ASCII字符 |
char_length , character_length |
返回字符串长度 |
crc32 |
返回循环冗余校验值 |
degrees |
将弧度转换为度 |
format_number |
更改数字的格式 |
from_json , get_json_object |
从JSON获取数据 |
hash |
返回哈希值 |
hex |
将参数转换为十六进制值 |
initcap |
将字符串更改为小写标题 |
lcase , lower |
将字符串更改为全小写 |
lpad |
将字符串的左侧粘贴 |
map |
创建映射 |
map_from_arrays |
从数组创建映射 |
map_from_entries |
从结构数组创建映射 |
md5 |
返回md5值 |
rpad |
将字符串的右侧粘贴 |
rtrim |
删除尾随空格 |
sha , sha1 |
返回SHA1值 |
sha2 |
返回SHA2值 |
soundex |
返回soundex代码 |
stack |
将值分隔为行 |
substr , substring |
返回子字符串 |
to_json |
返回JSON字符串 |
translate |
替换字符串中的值 |
trim |
删除前导和尾随字符 |
ucase , upper |
将字符串更改为全部大写 |
unbase64 |
将base64字符串转换为二进制 |
unhex |
将十六进制转换为二进制 |
uuid |
返回UUID |
函数 | 描述 |
---|---|
coalesce |
返回第一个非空参数 |
collect_list |
返回非唯一元素列表 |
collect_set |
返回一组唯一元素 |
concat |
拼接 |
concat_ws |
带分隔符的串联 |
count |
返回行的总计数 |
decode |
使用字符集进行解码 |
elt |
返回 n th输入 |
encode |
使用字符集进行编码 |
first , first_value |
返回第一个值 |
grouping |
指示列是否已分组 |
grouping_id |
返回分组级别 |
instr |
返回基于1的字符出现索引 |
json_tuple |
从JSON输入返回元组 |
lag , lead |
返回偏移之前的值 |
last , last_value |
返回最后一个值 |
left |
返回第一个 n 字符 |
length |
返回字符串的长度 |
levenshtein |
返回字符串之间的列文施泰因距离 |
locate , position |
返回子字符串首次出现的位置 |
map_concat |
连接映射 |
map_keys |
返回地图的键 |
map_values |
返回映射的值 |
ntile |
将行划分为多个分区 |
nullif |
如果为true,则返回null |
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_double , xpath_number |
解析XML节点以进行双精度分析 |
xpath_float |
解析浮点的XML节点 |
xpath_int |
解析整数的XML节点 |
xpath_long |
解析XML节点很长 |
xpath_short |
解析短整数的XML节点 |
xpath_string |
解析字符串的XML节点 |
函数 | 描述 |
---|---|
current_database |
返回当前数据库 |
current_date |
返回当前日期 |
current_timestamp , now |
返回当前时间戳 |
函数 | 描述 |
---|---|
transform |
转换数组中的元素 |
exists |
检查元素是否存在 |
filter |
筛选输入数组 |
aggregate |
将二进制运算符应用于所有元素 |