SPL prend en charge deux types d'ensembles de données : les ensembles nommés, réutilisables dans plusieurs expressions, et les ensembles non nommés, dont le résultat est directement envoyé en sortie.
Catégories
Ensembles de données nommés
Utilisez l'instruction .let pour définir un ensemble de données nommé. Référencez-le dans les expressions SPL suivantes à l'aide du symbole $.
Ensembles de données non nommés
Une expression SPL qui n'utilise pas l'instruction .let produit un ensemble de données non nommé. Le résultat est directement envoyé en sortie.
Exemples
L'exemple suivant génère les sorties ci-dessous :
Ensemble de données nommé : l'ensemble nommé « valid » contient les données dont le champ mode a la valeur « a ».
Ensemble de données non nommé : l'ensemble non nommé contient les données qui ne comportent pas le champ mode ou dont la valeur du champ mode est « b ».
-- Filter for data that does not contain the mode field. This generates an unnamed dataset and is output directly.
*
| where mode is null;
-- Filter for data that contains the mode field and define it as the named dataset 'src'. This is not output.
.let src = *
| where mode is not null;
-- Use the named dataset 'src' as input. Define the result as the dataset 'valid'. This is not output.
.let valid = $src
| where mode = 'a'
| parse-regexp content, '(\S+)\s+(\S+)\s+(\S+)' as x, y, z
| project x, y, z;
-- Output the named dataset 'valid'.
$valid;
-- Use the named dataset 'src' as input. This generates an unnamed dataset and is output directly.
$src
| where mode = 'b'
| parse-csv content as u, v
| project u, v;