全部產品
Search
文件中心

Simple Log Service:函數概覽

更新時間:Nov 16, 2024

本文列舉的函數與運算子可以被用在 SLS 的 SQL 或 SPL 兩種語言中。

函數與運算子

說明

您可以根據具體使用的功能、語言,在本文中查看具體的函數、運算子用法。下表中,√表示支援,×表示不支援。

  • SQL 是一種廣泛使用的查詢、分析語言,主要用於結構化良好資料的過濾、轉換、統計、彙總等分析情境,可以在 SLS 日誌查詢、分析功能中使用。

  • SPL 是一種管道式查詢、處理語言,主要用於資料的預先處理、查詢情境,可以在 SLS 的日誌查詢(Scan)、流式消費等功能中使用。

彙總函式

函數名稱

說明

支援SQL

支援SPL

arbitrary函數

返回x中任意一個非空的值。

×

avg函數

計算x中的算術平均值。

×

bitwise_and_agg函數

返回x中所有值按位與運算(AND)的結果。

×

bitwise_or_agg函數

返回x中所有值按位或運算(OR)的結果。

×

bool_and函數

判斷是否所有日誌都滿足條件。如果是,則返回true。

bool_and函數等同於every函數。

×

bool_or函數

判斷是否存在日誌滿足條件。如果存在,則返回true。

×

checksum函數

計算x的校正和。

×

count函數

統計所有的日誌條數。

×

統計所有的日誌條數,等同於count(*)。

×

統計x中值不為NULL的日誌條數。

×

count_if函數

統計滿足指定條件的日誌條數。

×

every函數

判斷是否所有日誌都滿足條件。如果是,則返回true。

every函數等同於bool_and函數。

×

geometric_mean函數

計算x的幾何平均數。

×

kurtosis函數

計算x的峰度。

×

map_union函數

返回一列Map資料的並集。 如果Map中存在相同的鍵,則返回的索引值為其中任意一個鍵的值。

×

max函數

查詢x中的最大值。

×

查詢x中最大的n個值。返回結果為數組。

×

max_by函數

查詢y為最大值時對應的x值。

×

查詢最大的n個y值對應的x值,返回結果為數組。

×

min函數

查詢x中最小值。

×

查詢x中最小的n個值。返回結果為數組。

×

min_by函數

查詢y為最小值時對應的x值。

×

查詢最小的n個y值對應的x值。返回結果為數組。

×

skewness函數

計算x的偏度。

×

sum函數

計算x的總值。

×

字串函數

函數名稱

說明

支援SQL

支援SPL

chr函數

將ASCII碼轉換為字元。

codepoint函數

將字元轉換為ASCII碼。

concat函數

將多個字串拼接成一個字串。

from_utf8函數

將二進位字串解碼為UTF-8編碼格式,並使用預設字元U+FFFD替換無效的UTF-8字元。

將二進位字串解碼為UTF-8編碼格式,並使用自訂字串替換無效的UTF-8字元。

length函數

計算字串的長度。

levenshtein_distance函數

計算x和y之間的最小編輯距離。

×

lower函數

將字串轉換為小寫形式。

lpad函數

在字串的開頭填充指定字元,直到指定長度後返回結果字串。

ltrim函數

刪除字串開頭的空格。

normalize函數

使用NFC格式將字串格式化。

×

position函數

返回目標子串在字串中的位置。

×

replace函數

將字串中所匹配的字元替換為其他指定字元。

刪除字串中匹配的字元。

reverse函數

返回反向順序的字串。

rpad函數

在字串的尾部填充指定字元,直到指定長度後返回結果字串。

rtrim函數

刪除字串中結尾的空格。

split函數

使用指定的分隔字元拆分字串,並返回子串集合。

通過指定的分隔字元拆分字串並使用limit限制字串拆分的個數,然後返回拆分後的子串集合。

split_part函數

使用指定的分隔字元拆分字串,並返回指定位置的內容。

split_to_map函數

使用指定的第一個分隔字元拆分字串,然後再使用指定的第二個分隔字元進行第二次拆分。

strpos函數

返回目標子串在字串中的位置。與position(sub_string in x)函數等價。

substr函數

返回字串中指定位置的子串,並指定子串長度。

返回字串中指定位置的子串。

to_utf8函數

將字串轉換為UTF-8編碼格式。

trim函數

刪除字串中開頭和結尾的空格。

upper函數

將字串轉化為大寫形式。

日期和時間函數

函數名稱

說明

支援SQL

支援SPL

current_date函數

返回當前日期。

×

current_time函數

返回目前時間和時區。

×

current_timestamp函數

返回當前日期、時間和時區。

×

current_timezone函數

返回當前時區。

×

date函數

返回日期和時間運算式中的日期部分。

×

date_format函數

將timestamp類型的日期和時間運算式轉化為指定格式的日期和時間運算式。

date_parse函數

將日期和時間字串轉換為指定格式的timestamp類型的日期和時間運算式。

from_iso8601_date函數

將ISO8601格式的日期運算式轉化為date類型的日期運算式。

×

from_iso8601_timestamp函數

將ISO8601格式的日期和時間運算式轉化為timestamp類型的日期和時間運算式。

×

from_unixtime函數

將UNIX時間戳記轉化為無時區的timestamp類型的日期和時間運算式。

將UNIX時間戳記轉化為帶時區的timestamp類型的日期和時間運算式。

×

將UNIX時間戳記轉化為帶時區的timestamp類型的日期和時間運算式,其中hours和minutes為時區位移量。

×

localtime函數

返回本地時間。

×

localtimestamp函數

返回本地日期和時間。

×

now函數

返回當前日期和時間。

now函數等同於current_timestamp函數。

×

to_iso8601函數

將date類型或timestamp類型的日期和時間運算式轉換為ISO8601格式的日期和時間運算式。

×

to_unixtime函數

將timestamp類型的日期和時間運算式轉化成UNIX時間戳記。

day函數

提取日期和時間運算式中的天數,按月計算。

day函數等同於day_of_month函數。

×

day_of_month函數

提取日期和時間運算式中的天數,按月計算。

day_of_month函數等同於day函數。

×

day_of_week函數

提取日期和時間運算式中的天數,按周計算。

day_of_week函數等同於dow函數。

day_of_year函數

提取日期和時間運算式中的天數,按年計算。

day_of_year函數等同於doy函數。

dow函數

提取日期和時間運算式中的天數,按周計算。

dow函數等同於day_of_week函數。

doy函數

提取日期和時間運算式中的天數,按年計算。

doy函數等同於day_of_year函數。

extract函數

通過指定的field,提取日期和時間運算式中的日期或時間部分。

×

hour函數

提取日期和時間運算式中的小時數,按24小時制計算。

minute函數

提取日期和時間運算式中的分鐘數。

month函數

提取日期和時間運算式中的月份。

quarter函數

計算目標日期所屬的季度。

second函數

提取日期和時間運算式中的秒數。

timezone_hour函數

計算時區的小時位移量。

×

timezone_minute函數

計算時區的分鐘位移量。

×

week函數

計算目標日期是在一年中的第幾周。

week函數等同於week_of_year函數。

×

week_of_year函數

計算目標日期是在一年中的第幾周。

week_of_year函數等同於week函數。

×

year函數

提取目標日期中的年份。

year_of_week函數

提取目標日期在ISO周日曆中的年份。

year_of_week函數等同於yow函數。

yow函數

提取目標日期在ISO周日曆中的年份。

yow函數等同於year_of_week函數。

date_trunc函數

根據您指定的時間單位截斷日期和時間運算式,並按照毫秒、秒、分鐘,小時、日、月或年對齊。

×

date_add函數

在x上加上N個時間單位(unit)。

date_diff函數

返回兩個時間運算式之間的時間差值,例如計算x和y之間相差幾個時間單位(unit)。

time_series函數

補全您查詢時間視窗內缺失的資料。

×

JSON函數

函數名稱

說明

支援SQL

支援SPL

json_array_contains函數

判斷JSON數組中是否包含某個值。

json_array_get函數

擷取JSON數組中某個下標對應的元素。

×

json_array_length函數

計算JSON數組中元素的數量。

json_extract函數

從JSON對象或JSON數組中提取一組JSON值(數組或對象)。

json_extract_scalar函數

從JSON對象或JSON數組中提取一組標量值(字串、整數或布爾值)。類似於json_extract函數。

json_format函數

把JSON類型轉化成字串類型。

json_parse函數

把字串類型轉化成JSON類型。

json_size函數

計算JSON對象或數組中元素的數量。

正則式函數

函數名稱

說明

支援SQL

支援SPL

regexp_extract_all函數

提取目標字串中符合Regex的子串,並返回所有子串的合集。

×

提取目標字串中符合Regex的子串,然後返回與目標擷取的群組匹配的子串合集。

×

regexp_extract函數

提取並返回目標字串中符合Regex的第一個子串。

提取目標字串中符合Regex的子串,然後返回與目標擷取的群組匹配的第一個子串。

regexp_like函數

判斷目標字串是否符合Regex。

regexp_replace函數

刪除目標字串中符合Regex的子串,返回未被刪除的子串。

替換目標字串中符合Regex的子串,返回被替換後的字串。

regexp_split函數

使用Regex分割目標字串,返回被分割後的子串合集。

×

同比與環比函數

函數名稱

說明

支援SQL

支援SPL

compare函數

對比目前時間周期內的計算結果與n秒之前時間周期內的計算結果。

×

對比目前時間周期內的計算結果與n1、n2、n3秒之前時間周期內的計算結果。

×

ts_compare函數

對比目前時間周期內的計算結果與n秒之前時間周期內的計算結果。

重要

ts_compare函數必須按照時間列進行分組(GROUP BY)。

×

對比目前時間周期內的計算結果與n1、n2、n3秒之前時間周期內的計算結果。

×

數組函數和運算子

函數名稱

說明

支援SQL

支援SPL

下標運算子

返回數組中的第x個元素。

×

array_agg函數

以數組形式返回x中的所有值。

×

array_distinct函數

刪除數組中重複的元素。

array_except函數

計算兩個數組的差集。

array_intersect函數

計算兩個數組的交集。

array_join函數

使用指定的串連符將數組中的元素拼接為一個字串。如果數組中包含null元素,則null元素將被忽略。

使用指定的串連符將數組中的元素拼接為一個字串。如果數組中包含null元素,則null元素將被替換為null_replacement。

array_max函數

擷取數組中的最大值。

array_min函數

擷取數組中的最小值。

array_position函數

擷取指定元素的下標,下標從1開始。如果指定元素不存在,則返回0。

array_remove函數

刪除數組中指定的元素。

array_sort函數

對數組元素進行升序排序。如果有null元素,則null元素排在最後。

array_transpose函數

對矩陣進行轉置,即提取二維數組中索引相同的元素組成一個新的二維數組。

×

array_union函數

計算兩個數組的並集。

×

cardinality函數

計算數組中元素的個數。

concat函數

將多個數組拼接為一個數組。

×

contains函數

判斷數組中是否包含指定元素。如果包含,則返回true。

×

element_at函數

返回數組中的第y個元素。

×

filter函數

結合Lambda運算式,用於過濾數組中的元素。只返回滿足Lambda運算式的元素。

flatten函數

把將二維數群組轉換為一維數組。

×

reduce函數

根據Lambda運算式中的定義,對數組中的各個元素進行相加計算,然後返回計算結果。

reverse函數

對數組中的元素進行反向排列。

sequence函數

通過指定的起始值返回一個數組,其元素為起始值範圍內一組連續且遞增的值。遞增間隔為預設值1。

通過指定的起始值返回一個數組,其元素為起始值範圍內一組連續且遞增的值。自訂遞增間隔。

shuffle函數

對數組元素進行隨機排列。

slice函數

擷取數組的子集。

transform函數

將Lambda運算式應用到數組的每個元素中。

zip函數

將多個數組合并為一個二維數組,且各個數組中下標相同的元素組成一個新的數組。

zip_with函數

根據Lambda運算式中的定義將兩個數組合并為一個數組。

×

Map映射函數和運算子

函數名稱

說明

支援SQL

支援SPL

下標運算子

擷取Map中目標鍵的值。

×

cardinality函數

計算Map的大小。

×

element_at函數

擷取Map中目標鍵的值。

histogram函數

對查詢和分析結果進行分組,返回結果為JSON格式。

×

histogram_u函數

對查詢和分析結果進行分組,返回結果為多行多列格式。

×

map函數

返回一個空Map。

將兩個數組映射為一個Map。

map_agg函數

將x和y映射為一個Map。x為Map中的鍵,y為Map中的索引值。當y存在多個值時,隨機提取一個值作為索引值。

×

map_concat函數

將多個Map合并為一個Map。

map_filter函數

結合Lambda運算式,用於過濾Map中的元素。

map_keys函數

提取Map中所有的鍵,並以數組形式返回。

map_values函數

提取Map中所有鍵的值,並以數組形式返回。

multimap_agg函數

將x和y映射為一個Map。x為Map中的鍵,y為Map中的索引值,索引值為數組格式。當y存在多個值時,提取所有的值作為索引值。

×

數學計算函數

函數名稱

說明

支援SQL

支援SPL

abs函數

計算x的絕對值。

acos函數

計算x的反餘弦。

asin函數

計算x的反正弦。

atan函數

計算x的反正切。

atan2函數

計算x和y相除的結果的反正切。

cbrt函數

計算x的立方根。

ceil函數

對x進行向上取整數。

ceil函數是ceiling函數的別名。

ceiling函數

對x進行向上取整數。

cos函數

計算x的餘弦。

cosh函數

計算x的雙曲餘弦。

cosine_similarity函數

計算x和y之間的餘弦相似性。

×

degrees函數

將弧度轉換為度。

e函數

返回自然底數e的值。

exp函數

計算自然底數e的x次冪。

×

floor函數

對x進行向下取整數。

from_base函數

根據BASE編碼將x轉為y進位的數字。

ln函數

計算x的自然對數。

infinity函數

返回正無窮的數值。

is_nan函數

判斷x是否為NaN。

log2函數

計算x以2為底的對數。

log10函數

計算x以10為底的對數。

log函數

計算x以y為底的對數。

×

mod函數

計算x與y相除的餘數。

nan函數

返回一個NaN值。

pi函數

返回π值,精確到小數點後15位。

pow函數

計算x的y次冪。

pow函數是power函數的別名。

power函數

計算x的y次冪。

radians函數

將度轉換為弧度。

rand函數

返回隨機數。

random函數

返回[0,1)之間的隨機數。

返回[0,x)之間的隨機數。

round函數

對x進行四捨五入取整數。

對x進行四捨五入且保留n位小數。

sign函數

返回x的符號,通過1、0、-1表示。

×

sin函數

計算x的正弦。

sqrt函數

計算x的平方根。

tan函數

計算x的正切。

tanh函數

計算x的雙曲正切。

to_base函數

根據BASE編碼將x轉為y進位的字串。

×

truncate函數

截斷x的小數部分。

width_bucket函數

將一段數值範圍劃分成大小相同的多個Bucket,然後返回x所屬的Bucket。

×

使用數組指定Bucket的範圍,然後返回x所屬的Bucket。

×

數學統計函數

函數名稱

說明

支援SQL

支援SPL

corr函數

計算x和y的相關度。計算結果範圍為[0,1]。

×

covar_pop函數

計算x和y的總體共變數。

×

covar_samp函數

計算x和y的樣本共變數。

×

stddev函數

計算x的樣本標準差。與stddev_samp函數同義。

×

stddev_samp函數

計算x的樣本標準差。

×

stddev_pop函數

計算x的總體標準差。

×

variance函數

計算x的樣本方差。與var_samp函數同義。

×

var_samp函數

計算x的樣本方差。

×

var_pop函數

計算x的總體方差。

×

regr_intercept函數

根據輸入焦點(x,y)擬合成一個線性方程,然後計算該直線的Y軸截距。

×

regr_slope函數

根據輸入焦點(x,y)擬合成一個線性方程,然後計算該直線的斜率。

×

beta_cdf函數

用於計算貝塔分布的累積分布函數。P(N <= v; α, β),其中α和β是貝塔分布的參數。

×

binomial_cdf函數

用於計算二項分布的累積分布函數。P(N <= v),其中x表示實驗的次數,y表示單次實驗成功的機率。

×

cauchy_cdf函數

用於計算柯西分布的累積分布函數。P(N <= v; x, y),其中x表示分布峰值位置的位置參數,y是尺度參數。

×

chi_squared_cdf函數

用於計算卡方分布的累積分布函數。P(N <= v; k),其中k是卡方分布服從的自由度。

×

inverse_beta_cdf函數

計算貝塔分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; α, β)的結果為p。

×

inverse_binomial_cdf函數

計算二項分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v)的結果為p。

×

inverse_cauchy_cdf函數

計算柯西分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; x, y)的結果為p。

×

inverse_chi_squared_cdf函數

計算卡方分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; k)的結果為p。

×

inverse_laplace_cdf函數

計算拉普拉斯分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; μ, b)的結果為p。

×

inverse_normal_cdf函數

計算常態分佈的逆累積分布函數。即求v的值,使得累積分布函數P(N < v; x, y)的結果為p。

×

inverse_poisson_cdf函數

計算泊松分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; λ)的結果為p。

×

inverse_weibull_cdf函數

計算韋布分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; x, y)的結果為p。

×

laplace_cdf函數

計算拉普拉斯分布的累積分布函數。P(N <= v; μ, b),其中μ 是位置參數,b 是尺度參數。

×

normal_cdf函數

計算常態分佈的累積分布函數。P(N < v; x, y),其中x和y分別表示常態分佈的均值和標準差。

×

poisson_cdf函數

計算泊松分布的累積分布函數。P(N <= v; λ),其中λ表示隨機事件發生的平均機率。

×

weibull_cdf函數

計算韋布分布的累積分布函數。P(N <= v; x, y),其中x表示比例參數,y是形狀參數。

×

類型轉換函式

函數名稱

說明

支援SQL

支援SPL

cast函數

轉換x的資料類型。

使用cast函數轉換資料類型時,如果某個值轉換失敗,將終止整個查詢與分析操作。

try_cast函數

轉換x的資料類型。

使用try_cast函數轉換資料類型時,如果某個值轉換失敗,該值返回NULL,並跳過該值繼續處理。

說明

日誌中可能有髒資料,建議使用try_cast函數,避免因髒資料造成整個查詢與分析操作失敗。

×

typeof函數

返回x的資料類型。

×

視窗函數

函數名稱

說明

支援SQL

支援SPL

彙總函式

所有彙總函式都支援在視窗函數中使用。彙總函式列表請參見彙總函式

×

cume_dist函數

統計視窗分區內各個值的累計分布。即計算視窗分區內值小於等於當前值的行數占視窗內總行數的比例。傳回值範圍為(0,1]。

×

dense_rank函數

視窗分區內值的排名。相同值擁有相同的排名,排名是連續的,例如有兩個相同值的排名為1,則下一個值的排名為2。

×

ntile函數

將視窗分區內資料按照順序分成n組。

×

percent_rank函數

計算視窗分區內各行的百分比排名。

×

rank函數

視窗分區內值的排名。相同值擁有相同的排名,排名不是連續的,例如有兩個相同值的排名為1,則下一個值的排名為3。

×

row_number函數

視窗分區內值的排名。每個值擁有唯一的序號,從1開始。三個相同值的排名為1、2、3。

×

first_value函數

返回各個視窗分區內第一行的值。

×

last_value函數

返回各個視窗分區內最後一行的值。

×

lag函數

返回視窗分區內位於當前行上方第offset行的值。如果不存在該行,則返回default_value。

×

lead函數

返回視窗分區內位於當前行下方第offset行的值。如果不存在該行,則返回default_value。

×

nth_value函數

返回視窗分區中第offset行的值。

×

IP函數

函數名稱

說明

支援SQL

支援SPL

ip_to_city函數

分析目標IP地址所屬城市。

返回結果為城市的中文名稱。

×

分析目標IP地址所屬城市。

返回結果為城市的行政區劃代碼。

×

ip_to_city_geo函數

分析目標IP地址所屬城市的經緯度。此函數返回的是城市經緯度,每個城市只有一個經緯度。

×

ip_to_country函數

分析目標IP地址所屬國家或地區。

返回結果為國家或地區的中文名稱。

×

分析目標IP地址所屬國家或地區。

返回結果為國家或地區的代碼。

×

ip_to_country_code函數

分析目標IP地址所屬國家或地區。

返回結果為國家或地區的代碼。

×

ip_to_domain函數

判斷目標IP地址是內網地址還是外網地址。

×

ip_to_geo函數

分析目標IP地址所在位置的經緯度。

×

ip_to_provider函數

分析目標IP地址所對應的網路電訊廠商。

×

ip_to_province函數

分析目標IP地址所屬

返回結果為的中文名稱。

×

分析目標IP地址所屬

返回結果為的行政區劃代碼。

×

ip_prefix函數

擷取目標IP地址的首碼。

×

is_prefix_subnet_of函數

判斷目標網段是否為某網段的子網。

×

is_subnet_of函數

判斷目標IP地址是否在某網段內。

×

ip_subnet_max函數

擷取IP網段中的最大IP地址。

×

ip_subnet_min函數

擷取IP網段中的最小IP地址。

×

ip_subnet_range函數

擷取IP網段範圍。

×

ipv6_to_city函數

分析目標IPv6地址所屬城市的名稱。

×

ipv6_to_city_code函數

分析目標IPv6地址所屬城市的行政區劃代碼。

×

ipv6_to_city_geo函數

分析目標IPv6地址所屬城市的經緯度。

×

ipv6_to_country函數

分析目標IPv6地址所屬國家或地區。

×

ipv6_to_country_code函數

分析目標IPv6地址所屬國家或地區的代碼。

×

ipv6_to_domain函數

判斷目標IPv6地址是內網地址還是外網地址。

×

ipv6_to_provider函數

分析目標IPv6地址所對應的網路電訊廠商。

×

ipv6_to_province函數

分析目標IPv6地址所屬省份。

×

ipv6_to_province_code函數

分析目標IPv6地址所屬省份的行政區劃代碼。

×

URL函數

函數名稱

說明

支援SQL

支援SPL

url_encode函數

對URL進行編碼。

url_decode函數

對URL進行解碼。

url_extract_fragment函數

從URL中提取Fragment資訊。

url_extract_host函數

從URL中提取Host資訊。

url_extract_parameter函數

從URL的查詢部分中提取指定參數的值。

url_extract_path函數

從URL中提取訪問路徑資訊。

url_extract_port函數

從URL中提取連接埠資訊。

url_extract_protocol函數

從URL中提取協議資訊。

url_extract_query函數

從URL中提取查詢部分的資訊。

估算函數

函數名稱

說明

支援SQL

支援SPL

approx_distinct函數

估算x中不重複值的個數,預設存在2.3%的標準誤差。

×

估算xx中不重複值的個數,支援自訂標準誤差。

×

approx_percentile函數

對x進行正序排列,返回大約處於percentage位置的x。

×

對x進行正序排列,返回大約處於percentage01、percentage02位置的x。

×

對x和權重的乘積進行正序排列,返回大約處於percentage位置的x。

×

對x和權重的乘積進行正序排列,返回大約處於percentage01、percentage02位置的x。

×

對x和權重的乘積進行正序排列,返回大約處於percentage位置的x。支援設定返回結果的準確度。

×

numeric_histogram函數

按照bucket數量(長條圖列數),統計x的近似長條圖,返回結果為JSON類型。

×

按照bucket數量(長條圖列數),統計x的近似長條圖,返回結果為JSON類型。支援對x設定權重。

×

numeric_histogram_u函數

按照bucket數量(長條圖列數),統計x的近似長條圖,返回結果為多行多列格式。

×

二進位函數

函數名稱

說明

支援SQL

支援SPL

from_base64函數

將BASE64編碼的字串解碼為二進位類型的資料。

from_base64url函數

使用URL安全字元將BASE64編碼的字串解碼為二進位類型的資料。

×

from_big_endian_64函數

將大端模式的二進位類型的資料轉化成數字。

×

from_hex函數

將十六進位類型的資料轉化成二進位類型的資料。

length函數

計算二進位類型的資料的長度。

×

md5函數

對二進位類型的資料進行MD5編碼。

to_base64函數

對二進位類型的資料進行BASE64編碼。

to_base64url函數

使用URL安全字元將二進位類型的資料進行BASE64編碼。

×

to_hex函數

將二進位類型的資料轉化成十六進位類型的資料。

to_big_endian_64函數

將數字轉化為大端模式的二進位類型的資料。

×

sha1函數

對二進位類型的資料進行SHA1加密。

sha256函數

對二進位類型的資料進行SHA256加密。

sha512函數

對二進位類型的資料進行SHA512加密。

xxhash64函數

對二進位類型的資料進行xxHash64加密。

位元運算函數

函數名稱

說明

支援SQL

支援SPL

bit_count函數

統計x中1的個數。

bitwise_and函數

以二進位形式對x和y進行與運算。

bitwise_not函數

以二進位形式對x的所有位進行取反運算。

bitwise_or函數

以二進位形式對x和y進行或運算。

bitwise_xor函數

以二進位形式對x和y進行異或運算。

空間幾何函數

函數名稱

說明

支援SQL

支援SPL

ST_AsText函數

將一個空間幾何體轉變為WKT格式的文本。

×

ST_Boundary函數

返回空間幾何體的邊界。

×

ST_Buffer函數

返回距離指定空間幾何體一定距離的空間幾何體。

×

ST_Difference函數

返回兩個空間幾何體不同點的集合。

×

ST_Envelope函數

返回空間幾何體的最小邊界框。

×

ST_ExteriorRing函數

返回空間幾何體的外環(線段形式)。

×

ST_Intersection函數

返回兩個空間幾何體的交集點。

×

ST_SymDifference函數

返回兩個空間幾何體的不同點,然後組成一個新的空間幾何體。

×

ST_Contains函數

判斷第一個空間幾何體是否包含第二個空間幾何體(邊界可存在交集)。如果包含,則返回true。

×

ST_Crosses函數

判斷兩個空間幾何體是否存在相同的內部點。如果存在,則返回true。

×

ST_Disjoint函數

判斷兩個空間幾何體是否沒有任何交集。 如果沒有,則返回true。

×

ST_Equals函數

判斷兩個空間幾何體是否完全相同。如果是,則返回true。

×

ST_Intersects函數

判斷兩個空間幾何體的平面投影是否存在共同點。如果是,則返回true。

×

ST_Overlaps函數

判斷兩個空間幾何體的維度是否相同。如果兩個空間幾何體的維度相同且不是內含項目關聯性,則返回true。

×

ST_Relate函數

判斷兩個空間幾何體是否相關。如果是,則返回true。

×

ST_Touches函數

判斷兩個空間幾何體是否只有邊界存在關聯,沒有共同的內部點。如果是,則返回true。

×

ST_Within函數

判斷第一個空間幾何體是否完全在第二個空間幾何體內部(邊界無交集)。如果是,則返回true。

×

ST_Area函數

使用歐幾裡得測量法計算空間幾何體在二維平面上的投影面積。

×

ST_Centroid函數

返回空間幾何實體的中心點。

×

ST_CoordDim函數

返回空間幾何體的座標維度。

×

ST_Dimension函數

返回空間幾何實體的固有維度,必須小於或等於座標維度。

×

ST_Distance函數

計算兩個空間幾何體之間的最小距離。

×

ST_EndPoint函數

返回線段中的最後一個點。

×

ST_IsClosed函數

判斷輸入的空間幾何體是否封閉。如果是,則返回true。

×

ST_IsEmpty函數

判斷輸入的空間幾何體是否為空白。如果是,則返回true。

×

ST_IsRing函數

判斷輸入的空間幾何體是否為閉合的簡單線段(環)。如果是,則返回true。

×

ST_Length函數

使用歐幾裡得測量法計算線段的二維投影長度。如果存在多條線段,則返回所有線段的長度之和。

×

ST_NumPoints函數

返回空間幾何體中點的個數。

×

ST_NumInteriorRing函數

計算空間幾何體中內部環的數量。

×

ST_StartPoint函數

返回線段中的第一個點。

×

ST_X函數

返回輸入焦點的X軸座標。

×

ST_XMax函數

返回空間幾何體的第一個最大的X軸座標。

×

ST_XMin函數

返回空間幾何體的第一個最小的X軸座標。

×

ST_Y函數

返回輸入焦點的Y軸座標。

×

ST_YMax函數

返回空間幾何體的第一個最大的Y軸座標。

×

ST_YMin函數

返回幾何體的第一個最小的Y軸座標。

×

bing_tile函數

通過X座標、Y座標和縮放層級構造一個Bing圖塊。

×

通過四叉樹鍵構造一個Bing圖塊。

×

bing_tile_at函數

通過經緯度和縮放層級構造一個Bing圖塊。

×

bing_tile_coordinates函數

返回目標Bing圖塊對應的X座標和Y座標。

×

bing_tile_polygon函數

返回目標Bing圖塊的多邊形格式。

×

bing_tile_quadkey函數

返回目標Bing圖塊的四叉樹鍵。

×

bing_tile_zoom_level函數

返回目標Bing圖塊的縮放層級。

×

地理函數

函數名稱

說明

支援SQL

支援SPL

geohash函數

對緯度和經度進行geohash編碼。

×

顏色函數

函數名稱

說明

支援SQL

支援SPL

bar函數

通過width指定整條ANSI橫條圖的寬度,其中該ANSI橫條圖的起始顏色為紅色(low_color),結束顏色為綠色(high_color)。然後通過x截取其中一段ANSI橫條圖並返回。

×

通過width指定整條ANSI橫條圖的寬度,其中該ANSI橫條圖的起始顏色和結束顏色為自訂色彩。然後通過x截取其中一段ANSI橫條圖並返回。

×

color函數

將顏色字串轉換為color類型。

×

通過判斷x在low和high之間的佔比指定low_color和high_color的份量,然後返回處於low_color和high_color之間的一個顏色。

×

通過y指定low_color和high_color的份量,然後返回處於low_color和high_color之間的一個顏色。

×

render函數

通過顏色渲染返回結果。布林運算式為真時,返回綠色勾;否則返回紅色叉。

×

通過自訂的顏色渲染返回結果。

×

rgb函數

通過RGB值返回一個顏色值。

×

HyperLogLog函數

函數名稱

說明

支援SQL

支援SPL

approx_set函數

估算x中不重複值的個數,最大標準誤差預設為0.01625。

×

cardinality函數

將HyperLogLog類型的內容轉換為bigint類型。

×

empty_approx_set函數

返回一個HyperLogLog類型的空值。最大標準誤差預設為0.01625。

×

merge函數

彙總計算所有的HyperLogLog值。

×

比較子

運算子

說明

支援SQL

支援SPL

基礎運算子

比較x和y的大小關係。如果邏輯成立,則返回true。

ALL運算子

x滿足所有條件時,返回true。

×

ANY運算子

x滿足任意一個條件時,返回true。

×

BETWEEN運算子

x處在y和z之間時,返回true。

DISTINCT運算子

(x IS DISTINCT FROM y)x不等於y時,返回true。

×

(x IS NOT DISTINCT FROM y)x等於y時,返回true。

×

LIKE運算子

匹配字串中指定的字元模式。字串區分大小寫。

SOME運算子

x滿足任意一個條件時,返回true。

×

GREATEST運算子

查詢x、y中的最大值。

×

LEAST運算子

查詢x、y中的最小值。

×

NULL運算子

(x IS NULL)x為null時,返回true。

×

(x IS NOT NULL)x不為null時,返回true。

×

邏輯運算子

運算子

說明

支援SQL

支援SPL

AND運算子

x和y的值都為true時,返回結果為true。

OR運算子

x和y中任意一個的值為true時,返回結果為true。

NOT運算子

x的值為false時,返回結果為true。

單位換算函數

函數名稱

說明

支援SQL

支援SPL

convert_data_size函數

對資料量單位進行換算,系統自動判斷最優的換算單位,返回使用最優單位表示的資料量。傳回型別為string。例如將1024 KB換算為1 MB,1024 MB換算為1 GB。

×

對資料量單位進行換算,返回使用指定單位表示的資料量。傳回型別為string。

×

format_data_size函數

對Byte單位進行換算,返回使用指定單位表示的資料量。傳回型別為string。

×

parse_data_size函數

對資料量單位進行換算,返回以Byte為單位的資料量。傳回型別為decimal。

×

to_data_size_B函數

對資料量單位進行換算,返回以Byte為單位的資料量。傳回型別為double。

×

to_data_size_KB函數

對資料量單位進行換算,返回以KB為單位的資料量。傳回型別為double。

×

to_data_size_MB函數

對資料量單位進行換算,返回以MB為單位的資料量。傳回型別為double。

×

to_data_size_GB函數

對資料量單位進行換算,返回以GB為單位的資料量。傳回型別為double。

×

to_data_size_TB函數

對資料量單位進行換算,返回以TB為單位的資料量。傳回型別為double。

×

to_data_size_PB函數

對資料量單位進行換算,返回以PB為單位的資料量。傳回型別為double。

×

format_duration函數

對以秒為單位的時間間隔進行格式化,轉換為可讀的字串類型。

×

parse_duration函數

對時間間隔進行格式化,轉換為0 00:00:00.000格式。

×

to_days函數

對時間間隔單位進行換算,轉換為以天為單位的時間間隔。

×

to_hours函數

對時間間隔單位進行換算,轉換為以小時為單位的時間間隔。

×

to_microseconds函數

對時間間隔單位進行換算,轉換為以微秒為單位的時間間隔。

×

to_milliseconds函數

對時間間隔單位進行換算,轉換為以毫秒為單位的時間間隔。

×

to_minutes函數

對時間間隔單位進行換算,轉換為以分鐘為單位的時間間隔。

×

to_most_succinct_time_unit函數

對時間間隔單位進行換算,系統自動判斷最優的換算單位,返回使用最優單位表示的時間間隔。

×

to_nanoseconds函數

對時間間隔單位進行換算,轉換為以納秒為單位的時間間隔。

×

to_seconds函數

對時間間隔單位進行換算,轉換為以秒為單位的時間間隔。

×

視窗漏鬥函數

函數名稱

說明

支援SQL

支援SPL

window_funnel函數

在滑動的時間視窗中搜尋事件鏈並計算事件鏈中發生的最大連續的事件數目。

×

Lambda運算式

Log Service支援您在SQL分析語句和SPL語句中定義Lambda運算式,並將該運算式傳遞給指定函數,豐富函數的表達。更多資訊,請參見Lambda運算式

條件運算式

運算式

說明

支援SQL

支援SPL

CASE WHEN運算式

通過條件判斷,對資料進行歸類。

IF運算式

通過條件判斷,對資料進行歸類。

COALESCE運算式

返回多個運算式中第一個非NULL的值。

NULLIF運算式

比較兩個運算式的值是否相等。如果相等,則返回null,否則返回第一個運算式的值。

×

TRY運算式

捕獲異常資訊,使得系統繼續執行查詢和分析操作。

向量計算函數

運算式

說明

支援SQL

支援SPL

餘弦相似性函數

餘弦相似性的取值範圍是[-1, 1]:

  • 當餘弦相似性為1時,表示兩個向量方向完全相同。

  • 當餘弦相似性為-1時,表示兩個向量方向完全相反。

  • 當餘弦相似性為0時,表示兩個向量在幾何上是正交的,即它們是垂直的。

×

內積(點積)函數

計算兩個向量的內積。

×

歐氏距離函數

計算兩個向量的歐式距離。

×

向量範數(長度)函數

計算一個向量的範數。範數相當於向量的長度。

×

向量元素和函數

計算一個向量的所有元素之和。

×

向量元素均值函數

計算一個向量的平均值。

×

向量元素方差函數

計算一個向量的方差。方差代表向量元素偏離均值的平均波動幅度的平方和,描述了該向量中元素分布的離散程度。

×

向量元素標準差函數

計算一個向量的標準差,標準差是方差的正平方根。方差描述了資料點圍繞均值的波動大小。方差越大,表示資料點越分散;方差越小,表示資料點越集中。

×

向量加法函數

計算兩個向量相加的結果。

結合向量加減法和向量縮放,可以做任意線性變換。

×

向量減法函數

計算兩個向量相減的結果。

結合向量的加減法和向量的縮放,可以做任意線性變換。

×

向量縮放函數

結合向量的加減法和向量的縮放,可以做任何的線性變換。

×