SPL数据集

本文主要介绍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;