全部產品
Search
文件中心

Simple Log Service:SPL指令與函數

更新時間:Sep 05, 2025

本文介紹SPL指令的詳細資料。

參數類型說明

SPL指令中的參數類型說明如下表所示。

參數類型

說明

Bool

布爾型別參數。使用SPL時,該參數為切換參數。

Char

ASCII字元型別參數,需使用單引號('')包裹,例如'a'表示字元a,'\t'表示定位字元、'\11'表示序號為八位元11對應的ASCII字元、'\x09'表示序號為十六進位數09對應的ASCII字元。

Integer

整數型別參數。

String

字串型別參數,需使用單引號('')包裹,例如'this is a string'

RegExp

RE2Regex型別參數,需使用單引號('')包裹,例如'([\d.]+)'

文法定義,請參見Syntax

JSONPath

JSON路徑型別參數,需使用單引號('')包裹,例如'$.body.values[0]'

文法定義,請參見JsonPath

Field

欄位名型別參數,例如| project level, content

如果欄位名中包含字母、數字、底線以外的特殊字元,需使用雙引號("")包裹,例如 | project "a:b:c"

說明

關於欄位名稱大小寫敏感詳情,請參見通用參考

FieldPattern

欄位名和萬用字元組合或者欄位名型別參數。支援萬用字元號*,表示匹配0個或多個任一字元。需使用雙引號("")包裹,例如| project "__tag__:*"

說明

關於欄位名稱大小寫敏感詳情,請參見通用參考

SPLExp

SPL運算式型別參數。

SQLExp

SQL運算式型別參數。

SPL指令列表

指令類別

指令名稱

說明

資料加工

寫入處理器

消費處理器

掃描模式(SCAN)

Logtail採集

控制指令

.let

定義命名資料集,SPL資料集詳情請參見通用參考

×

×

×

欄位操作指令

project

保留與給定模式相匹配的欄位、同時可重新命名指定欄位。指令執行過程中,先完成所有欄位保留運算式的執行,再執行重新命名運算式。

project-away

移除與給定模式相匹配的欄位,原樣保留其他所有欄位。

project-rename

重新命名指定欄位,並保留其他所有欄位原樣。

expand-values

展開指定欄位的第一層JSON對象,產生多條結果。

×

×

×

結構化資料SQL計算指令

extend

通過SQL運算式計算結果產生新欄位。支援的SQL函數列表,請參見SPL支援的SQL函數列表

where

根據SQL運算式過濾資料,保留滿足SQL運算式的資料條目。where指令支援的SQL函數列表,請參見SPL支援的SQL函數列表

弱結構化資料提取指令

parse-regexp

提取指定欄位中的Regex分組匹配資訊。

parse-csv

提取指定欄位中的CSV格式的資訊。

parse-json

提取指定欄位中的第一層JSON資訊。

parse-kv

提取指定欄位中的索引值對資訊。

資料加工(新版)指令

pack-fields

將日誌欄位進行打包,以JSON序列化輸出到新欄位,適用於需要結構化傳輸的情境(如API請求體構建)。

×

×

log-to-metric

將日誌格式轉化為時序儲存的格式。

×

×

×

×

metric-to-metric

對已有時序資料進一步加工(如添加/修改/刪除標籤)。

×

×

×

×

彙總指令

stats

用於統計分析日誌的指令,類似 SQL 中的彙總函式(如 COUNTSUMAVG 等)。對日誌資料中的特定欄位進行統計、分組和彙總操作。

×

×

×

×

sort

對查詢結果進行排序,支援對欄位值或統計結果進行升序(asc)或降序(desc)排序。它是日誌分析中快速定位關鍵資料、產生有序報表的重要工具。

×

×

×

×

limit

用於限制查詢結果返回的日誌行數,是控制資料量的核心指令之一。通過 limit 可有效防止查詢結果過大導致的效能問題或資源浪費,適用於日誌分析、即時監控等多種情境。

×

×

×

×

函數概覽

SPL指令支援使用大多數SQL函數,但具體函數的可用性及適用情境需參考相應的函數文檔。

分類

說明

常用函數

彙總函式

對目標資料集進行匯總計算,產生單一統計結果。

字串函數

處理文本資料,包括尋找、替換、截取、拼接、格式化等。

日期和時間函數

對日誌中的日期和時間進行格式轉換,分組彙總等處理。

JSON函數

處理 JSON 對象,包括提取、轉換和統計。

正則式函數

模式比對與文本處理。

同比和環比函數

計算時間序列資料的相對變化。

數組函數和運算子

對數組進行增刪改查、遍曆和轉換。

Map映射函數和運算子

操作索引值對。

數學計算函數

數值計算、取整、隨機數、三角函數等。

數學統計函數

資料分布分析與數值計算。

類型轉換函式

處理資料類型間的轉換。

視窗函數

基於資料視窗的彙總或排序。

IP函數

處理 IP 位址的解析與計算。

URL函數

解析 URL 結構。

估算函數

基於資料預測或填充缺失值。

二進位函數

處理二進位類型的資料。

位元運算函數

直接操作二進位位。

空間幾何函數

處理空間幾何體。

地理函數

地理位置分析與地圖計算。

顏色函數

顏色表示與轉換。

HyperLogLog函數

對巨量資料集進行統計處理,犧牲精度以節省記憶體。

比較子

判斷參數的大小關係,適用於任意可比較的資料類型(double、bigint、varchar、timestamp和date)。

邏輯運算子

組合多個布爾條件,控制邏輯流程。

單位換算函數

換算資料量或時間間隔的單位。

視窗漏鬥函數

分析使用者行為、APP流量、產品目標轉化等資料。

Lambda運算式

在SQL分析語句和SPL語句中定義Lambda運算式,並將該運算式傳遞給指定函數,豐富函數的表達。

條件運算式

基於條件分支返回不同值。