本文列舉數據加工任務所涉及的表達式函數。
函數分類 | 函數名稱 | 說明 |
e_has | 判斷日志字段是否存在。 | |
e_not_has | 判斷日志字段是否不存在。 | |
e_search | 提供一種簡化,類似Lucene語法的日志搜索方式。 | |
e_match、e_match_all、e_match_any | 判斷當前日志字段的值是否滿足正則表達式。 | |
op_if | 根據判斷條件返回不同表達式的值。 | |
op_ifnull | 返回第一個值不為None的表達式的值。 | |
op_coalesce | 返回第一個值不為None的表達式的值。 | |
op_nullif | 如果表達式1等于表達式2,返回None。否則返回表達式1的值。 | |
op_and | 使用邏輯運算and,對任意類型值進行真假判斷,所有參數值為真時返回True。 | |
op_not | 使用邏輯運算not,對任意類型值進行真假判斷,返回參數值的反義布爾值。 | |
op_or | 使用邏輯運算or,對任意類型值進行真假判斷。當任意參數值為真時返回True,所有參數值為假時返回False。 | |
op_eq | 按照 | |
op_ge | 按照 | |
op_gt | 按照 | |
op_le | 按照 | |
op_lt | 按照 | |
op_ne | 按照 | |
op_len | 計算文本字符串中的字符數,可用于字符串和其他返回元組、列表、字典的表達式。 | |
op_in | 判斷字符串、元組、列表或字典中是否包含特定元素,返回True或False。 | |
op_not_in | 判斷字符串、元組、列表或字典中是否不包含特定元素,返回True或False。 | |
op_slice | 對指定字符串、數組、元組進行截取。 | |
op_index | 根據字符串、數組、元組的下標返回其對應的元素。 | |
op_add | 計算多個值的和,可以是字符串或者數字等。 | |
op_max | 計算多個字段或表達式表示的數值的最大值。 | |
op_min | 計算多個字段或表達式表示的數值的最小值。 | |
ct_int | 將字段或表達式的值轉換為整數。 | |
ct_float | 將字段或表達式的值轉換為浮點數。 | |
ct_str | 將字段或表達式的值轉換為字符串。 | |
ct_bool | 將字段或表達式值轉換為布爾值。 | |
ct_chr | 將字段或表達式的ANSI值、Unicode值轉換為對應字符。 | |
ct_ord | 將字段或表達式的字符轉換為對應ANSI值、Unicode值。 | |
ct_hex | 將字段或表達式的數值轉換為十六進制數。 | |
ct_oct | 將字段或表達式的數值轉換為八進制數。 | |
ct_bin | 將字段或表達式的數值轉換為二進制數。 | |
bin2oct | 將二進制字節字符串轉換為八進制字符串。 | |
bin2hex | 將二進制字節字符串轉換為十六進制字符串。 | |
op_abs | 計算傳入值的絕對值。 | |
op_div_floor | 對傳入值進行整除運算。 | |
op_div_true | 對傳入值進行除法運算。 | |
op_pow | 對傳入值進行冪值計算。 | |
op_mul | 對傳入值進行乘法運算。 | |
op_neg | 計算傳入值的相反數。 | |
op_mod | 對傳入值進行模計算。 | |
op_sub | 對傳入值進行減法運算。 | |
op_round | 對傳入值進行四舍五入操作。 | |
op_sum | 對傳入值進行求和運算。 | |
mat_ceil | 對傳入值進行向上取整操作。 | |
mat_exp | 以常數e為底的指數函數。 | |
mat_fabs | 計算傳入值的絕對值。 | |
mat_floor | 對傳入值進行向下取整操作。 | |
mat_log | 計算傳入值的對數。 | |
mat_log10 | 計算以10為基數的傳入值的對數。 | |
mat_sqrt | 計算傳入值的平方根。 | |
mat_degrees | 將弧度轉換為角度。 | |
mat_radians | 將角度轉換為弧度。 | |
mat_sin | 計算傳入值弧度的正弦值。 | |
mat_cos | 計算傳入值弧度的余弦值。 | |
mat_tan | 計算傳入值弧度的正切值。 | |
mat_acos | 計算傳入值的反余弦弧度值。 | |
mat_asin | 計算傳入值的反正弦弧度值。 | |
mat_atan | 計算傳入值的反正切弧度值。 | |
mat_atan2 | 計算坐標值的反正切值。 | |
mat_atanh | 計算傳入值的反雙曲正切值。 | |
mat_hypot | 計算傳入值的歐幾里德范數。 | |
str_format | 按照指定格式對字符串進行格式化。 | |
str_join | 通過連接符將輸入的字符串連接生成一個新的字符串。 | |
str_zip | 將兩個值或表達式的字符串進行并發分裂然后再合并成一個字符串。 | |
str_encode | 按照指定的編碼格式對字符串進行編碼。 | |
str_decode | 按照指定的編碼格式對傳入值進行解碼。 | |
str_hex_escape_encode | 轉義特殊字符,支持將十六進制字符轉義為中文字符。 | |
str_sort | 將指定的對象進行排序。 | |
str_reverse | 將一個字符串進行反轉。 | |
str_replace | 根據規則將舊字符串替換成新字符串。 | |
str_logtash_config_normalize | 將Logstash配置語言轉成JSON格式。 | |
str_translate | 將字符串中的指定字符按照對應關系進行替換。 | |
str_strip | 刪除字符串中指定的字符。 | |
str_lstrip | 刪除字符串開頭的指定字符。 | |
str_rstrip | 刪除字符串結尾的指定字符。 | |
str_lower | 將字符串中所有大寫字符轉換為小寫字符。 | |
str_upper | 將字符串中所有小寫字符轉換為大寫字符。 | |
str_title | 將所有單詞的首個字母轉化為大寫,其余字母均為小寫。 | |
str_capitalize | 將字符串的第一個字母轉化為大寫,其他字母轉化為小寫。 | |
str_swapcase | 對字符串的大小寫字母進行轉換。 | |
str_count | 統計字符串里某個字符出現的次數。 | |
str_find | 判斷原字符串中是否包含指定的子字符串。 | |
str_rfind | 查找字符串中指定字符最后一次出現的位置。 | |
str_endswith | 判斷字符串是否以指定后綴結尾。 | |
str_startswith | 判斷字符串是否以指定字符串開頭。 | |
str_split | 通過指定分隔符對字符串進行分割。 | |
str_splitlines | 通過換行符對字符串進行分割。 | |
str_partition | 根據指定的分隔符將字符串從左往右分割為三部分。 | |
str_rpartition | 根據指定的分隔符將字符串從右往左分割為三部分。 | |
str_center | 用指定字符將字符串填充到指定長度。 | |
str_ljust | 用指定字符將字符串從結尾填充至指定長度。 | |
str_rjust | 用指定字符將原字符串從開頭填充至指定長度。 | |
str_zfill | 用字符0從開頭將字符串填充至指定長度。 | |
str_expandtabs | 將字符串中的 | |
str_isalnum | 判斷字符串是否僅由字母和數字組成。 | |
str_isalpha | 判斷字符串是否僅由字母組成。 | |
str_isascii | 判斷字符串是否在ASCII中。 | |
str_isdecimal | 判斷字符串是否僅包含十進制字符。 | |
str_isdigit | 判斷字符串是否僅由數字組成。 | |
str_isidentifier | 判斷字符串是否是有效的Python標識符,也可以用來判斷變量名是否合法。 | |
str_islower | 判斷字符串是否由小寫字母組成。 | |
str_isnumeric | 判斷字符串是否由數字組成。 | |
str_isprintable | 判斷字符串中是否所有字符都是可打印字符。 | |
str_isspace | 判斷字符串是否僅由空格字符組成。 | |
str_istitle | 判斷字符串中所有單詞的拼寫首字母是否為大寫,且其他字母為小寫。 | |
str_isupper | 字符串中所有的字母是否都為大寫。 | |
str_uuid | 生成隨機UUID。 | |
dt_parse | 將值或時間表達式的值轉換為日期時間對象。 | |
dt_str | 將值或時間表達式的值轉換為字符串。 | |
dt_parsetimestamp | 將值或時間表達式的值轉換為Unix時間戳。 | |
dt_prop | 獲取值或時間表達式值的特定屬性,包括所屬day、year等。 | |
dt_now | 獲取當前日期時間。 | |
dt_today | 獲取當前日期,不含時間。 | |
dt_utcnow | 獲取當前時區的當前日期時間對象。 | |
dt_fromtimestamp | 將Unix時間戳轉換為日期時間對象。 | |
dt_utcfromtimestamp | 將Unix時間戳轉換為當前時區的日期時間對象。 | |
dt_strptime | 將時間字符串解析為日期時間對象。 | |
dt_currentstamp | 獲取當前Unix時間戳。 | |
dt_totimestamp | 將日期時間對象轉換為Unix時間戳。 | |
dt_strftime | 將日期時間對象按照指定格式轉換為字符串。 | |
dt_strftimestamp | 將Unix時間戳按照指定格式轉換為字符串。 | |
dt_truncate | 從值或時間表達式中截取指定的時間粒度。 | |
dt_add | 根據指定的時間粒度修改值或時間表達式的值。 | |
dt_MO |
| |
dt_TU |
| |
dt_WE |
| |
dt_TH |
| |
dt_FR |
| |
dt_SA |
| |
dt_SU |
| |
dt_astimezone | 將值或時間表達式的值轉換為特定時區的日期時間對象。 | |
dt_diff | 按照特定粒度獲取兩個值或時間表達式值的差異值。 | |
regex_select | 根據正則表達式提取符合條件的值。 | |
regex_findall | 根據正則表達式獲得符合條件的所有值列表。 | |
regex_match | 判斷是否匹配正則表達式。 | |
regex_replace | 根據正則表達式替換字符串中的指定字符。 | |
regex_split | 將一個字符串分割成字符串數組。 | |
grok | 根據正則表達式提取特定的值。 | |
json_select | 根據JMES語法提取或計算JSON表達式中特定的值。 | |
json_parse | 將值解析為JSON對象。 | |
xml_to_json | 將XML數據轉成JSON再做展開操作。 | |
geo_parse | 根據IP地址解析出所屬國家、省份和市信息。 | |
ip_cidrmatch | 判斷IP地址是否屬于CIDR地址塊。 | |
ip_version | 判斷IP地址為IPv4還是IPv6。 | |
ip_type | 判斷IP地址為私有地址還是公有地址。 | |
ip_makenet | 將單個IP地址轉換為CIDR地址塊。 | |
ip_to_format | 將輸入的CIDR地址塊按照Prefixlen或者Netmask格式輸出。 | |
ip_overlaps | 判斷兩個網段是否存在重疊。 | |
ip2long | 將字符串格式的IP地址轉換成長整型數據。 | |
long2ip | 將長整型數據轉換成字符串格式的IP地址。 | |
url_encoding | 對數據進行URL編碼。 | |
url_decoding | 對數據進行URL解碼。 | |
protobuf_decoding | 按照傳入的Protobuf模板將數據解析成JSON格式。 | |
str_encode | 按照指定的編碼格式對字符串進行編碼。 | |
str_decode | 按照指定的編碼格式對傳入值進行解碼。 | |
base64_encoding | 對數據進行Base64編碼。 | |
base64_decoding | 對數據進行Base64解碼。 | |
html_encoding | 對數據進行HTML編碼。 | |
html_decoding | 對數據進行HTML解碼。 | |
md5_encoding | 對數據進行MD5編碼。 | |
sha1_encoding | 對數據進行SHA1編碼。 | |
crc32_encoding | 計算數據的循環冗余校驗碼。 | |
gzip_compress | 將數據進行壓縮并編碼。 | |
gzip_decompress | 將壓縮數據解壓縮。 | |
zlib_compress | 將數據進行壓縮并編碼。 | |
zlib_decompress | 將壓縮數據解壓縮。 | |
aes_encrypt | 對數據進行AES加密。 | |
aes_decrypt | 對數據進行AES解密。 | |
jwt_encoding | 基于JSON Web Token (JWT)標準,對JSON數據進行編碼。 | |
jwt_decoding | 基于JSON Web Token (JWT)標準,將數據解碼為原始JSON。 | |
hashids_encoding | 使用Hashids庫對數據進行編碼。 | |
hashids_decoding | 對已使用Hashids庫編碼的數據進行解碼。 | |
ua_parse_device | 解析User-Agent中的設備信息。 | |
ua_parse_os | 解析User-Agent中的操作系統信息。 | |
ua_parse_agent | 解析User-Agent中的瀏覽器信息。 | |
ua_parse_all | 解析User-Agent中所有信息。 | |
url_parse | 解析URL的組成部分。 | |
url_parse_qs | 解析URL中查詢字符串的組成部分。 | |
lst_make | 構建列表。 | |
lst_insert | 在列表特定位置插入元素。 | |
lst_append | 在列表結尾添加元素。 | |
lst_delete_at | 在列表特定位置刪除元素。 | |
lst_reverse | 反向排序列表。 | |
lst_get | 獲取列表、元組中的一個元素。 | |
dct_make | 構建字典。 | |
dct_update | 更新字典。 | |
dct_delete | 刪除字典值。 | |
dct_keys | 獲取字典關鍵字列表。 | |
dct_values | 獲取字典值列表。 | |
dct_get | 獲取字典關鍵字的值。 | |
tab_parse_csv | 從CSV格式的文本中構建表格。 | |
tab_to_dict | 從表格構建字典。 | |
res_local | 從當前數據加工任務中拉取高級參數配置信息。 | |
res_rds_mysql | 從RDS MySQL數據庫中拉取數據庫表內容或SQL執行結果,支持定期更新數據。 | |
res_log_logstore_pull | 從另一個Logstore中拉取數據,支持持續拉取數據。 | |
res_oss_file | 從OSS中獲取特定Bucket下的文件內容,支持定期更新數據。 |