Adobe Experience Platform Query Service提供數種內建的Spark SQL函式以擴充SQL功能。 本文檔列出了Query Service支援的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 |
傳回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 |
傳回正平衡 |
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 |
邏輯非 |
< |
少於 |
<= |
Less than or equal to |
= |
Equal to |
> |
Greater than |
>= |
大於或等於 |
^ |
位獨佔或 |
| |
按位或 |
~ |
按位不 |
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 輸入 |
encode |
使用字元集進行編碼 |
first , first_value |
傳回第一個值 |
grouping |
指示列是否被分組 |
grouping_id |
返回分組級別 |
instr |
返回基於1的字元出現索引 |
json_tuple |
從JSON輸入傳回元組 |
lag , lead |
傳回偏移前的值 |
last , last_value |
傳回最後一個值 |
left |
傳回第一個 n 字元 |
length |
傳回字串的長度 |
levenshtein |
傳回字串之間的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 |
將二進位運算子套用至所有元素 |