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 |
傳回第一個非null引數 |
collect_list |
傳回非唯一元素清單 |
collect_set |
傳回一組不重複元素 |
concat |
串連 |
concat_ws |
使用分隔符號串連 |
count |
傳回列的總計數 |
decode |
使用字元集解碼 |
elt |
傳回 n 輸入 |
encode |
使用字元集編碼 |
first , first_value |
傳回第一個值 |
grouping |
指示欄是否分組 |
grouping_id |
傳回群組層級 |
instr |
傳回以1為基礎的字元出現索引 |
json_tuple |
從JSON輸入傳回Tuple |
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 |
如果不為空,則傳回值 |
parse_url |
擷取部分URL |
rank |
計算值的排名 |
regexp_extract |
擷取和規則運算式相符的內容 |
regex_replace |
取代符合regex的內容 |
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 |
將二進位運運算元套用至所有元素 |