本文主要介紹SPL資料集的用法和樣本。
分類
命名資料集
使用.let指令定義,作為後續SPL運算式的輸入,通過$符號引用。
非命名資料集
未使用.let指令的SPL運算式的處理結果均為非命名資料集,結果直接輸出。
樣本
以下SPL樣本輸出結果為:
命名資料集:包含mode欄位且mode欄位值為a的資料作為命名資料集valid。
非命名資料集:不包含mode欄位、或者mode欄位值為b的資料。
-- 篩選不包含mode欄位的資料,產生非命名資料集,直接輸出
*
| where mode is null;
-- 篩選包含mode欄位的資料,定義為命名資料集src,不輸出
.let src = *
| where mode is not null;
-- 以命名資料集src作為輸入,處理結果定義資料集valid,不輸出
.let valid = $src
| where mode = 'a'
| parse-regexp content, '(\S+)\s+(\S+)\s+(\S+)' as x, y, z
| project x, y, z;
-- 輸出命名資料集valid
$valid;
-- 以命名資料集src作為輸入,產生非命名資料集,直接輸出
$src
| where mode = 'b'
| parse-csv content as u, v
| project u, v;