Spark SQL函式

Adobe Experience Platform查詢服務提供數種內建的Spark SQL函式,以擴充SQL功能。 本檔案列出查詢服務支援的Spark SQL函式。

有關函式的更多詳細資訊,包括其語法、用法和示例,請閱讀Spark SQL函式文檔

注意

並非外部文檔中的所有功能都受支援。

類別

數學和統計運算子與函式

運算元/函式 說明
% 返回兩個數字的余數
* 將兩個數字相乘
+ 將兩個數字相加
- 減去兩個數字
/ 將兩個數字除以
abs 傳回輸入的絕對值
acos 傳回反余弦值
approx_count_distinct 返回由HyperLogLog++提供的估計基數
approx_percentile 傳回指定百分比的近似百分位數值
asin 傳回反正弦值
atan 傳回反相切值
atan2 返回正x軸平面與由坐標給定的點之間的角度
avg 傳回平均值
cbrt 返回立方根
ceilceiling 傳回不大於輸入值的最小整數
conv 從一個基礎轉換為另一個基礎
corr 傳回數字之間的Pearson系數
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 傳回正值
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 邏輯非
< Less than
<= Less than or equal to
= Equal to
> Greater than
>= Greater than or equal to
^ Bitwise獨佔或
>= 大於或等於
| Bitwise或
~ Bitwise not
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 傳回日期之間的差異(以天為單位)
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 將字串轉換為日期
to_timestamp 將字串轉換為時間戳記
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 將陣列連接在一起,不需要任何重複項
array_zip 郵遞區號
cardinality 返回陣列大小
element_at 將元素返回位置
explode 將陣列元素分成多行,不包括null
explode_outer 將陣列元素分成多行,包括空值
find_in_set 返回基於1的陣列位置
flatten 扁平化陣列陣列
inline 將結構陣列分離到表中,不包括空值
inline_outer 將結構陣列分拆為表,包括空值
posexplod 將陣列元素分成多個具有位置的行(不包括null)
posexplod 將陣列元素分成多個具有位置的行,包括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 傳回第一個非null引數
collect_list 傳回非唯一元素的清單
collect_set 傳回一組獨特元素
concat 串連
concat_ws 具有分隔符的串連
count 傳回列的總計數
decode 使用字元集進行解碼
elt 傳回n第th輸入
encode 使用字元集進行編碼
firstfirst_value 傳回第一個值
grouping 指示列是否分組
grouping_id 傳回群組層級
instr 傳回以1為基礎的字元發生率索引
json_tuple 從JSON輸入傳回元組
laglead 傳回偏移前的值
lastlast_value 傳回最後一個值
left 傳回前n個字元
length 傳回字串的長度
levenshtein 傳回字串之間的Levenstein距離
locateposition 返回子字串首次出現的位置
map_concat 串連地圖
map_keys 傳回地圖的鍵
map_values 傳回地圖的值
ntile 將行分為分區
nullif 若為true,則傳回null
nvl 如果為null,則返回值
nvl2 若非null,則傳回值
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_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 將二進位運算子套用至所有元素

本頁內容