SPL propose des instructions pour les opérations sur les champs, l'extraction de données, le filtrage, l'agrégation et la transformation des données. Chaque instruction prend en charge des scénarios de traitement spécifiques, tels que la transformation des données, Ingest Processor, Consumer Processor, le mode d'analyse et la collecte via Logtail.
Types de paramètres
Les instructions SPL utilisent les types de paramètres suivants.
|
Type de paramètre |
Description |
|
Bool |
Paramètre booléen servant d'interrupteur dans SPL. |
|
Char |
Paramètre représentant un caractère ASCII, entouré d'apostrophes (''). Exemples : |
|
Integer |
Paramètre entier. |
|
String |
Paramètre de type chaîne, entouré d'apostrophes (''). Exemple : |
|
RegExp |
Paramètre d'expression régulière RE2, entouré d'apostrophes (''). Exemple : Détails de la syntaxe RE2 : Syntax. |
|
JSONPath |
Paramètre de chemin JSON, entouré d'apostrophes (''). Exemple : Détails de la syntaxe JSONPath : JsonPath. |
|
Field |
Nom de champ. Exemple : Entourez les noms de champ contenant des caractères spéciaux (autres que les lettres, chiffres et underscores) de guillemets doubles (""). Exemple : Remarque
Les règles de sensibilité à la casse des noms de champ sont documentées dans la section Référence générale. |
|
FieldPattern |
Nom de champ ou motif générique. Le caractère générique (*) correspond à zéro ou plusieurs caractères. Entourez les motifs de guillemets doubles (""). Exemple : Remarque
Les règles de sensibilité à la casse des noms de champ sont documentées dans la section Référence générale. |
|
SPLExp |
Expression SPL. |
|
SQLExp |
Expression SQL. |
Liste des instructions SPL
|
Catégorie d'instruction |
Nom de l'instruction |
Description |
Transformation des données |
Ingest Processor |
Consumer Processor |
Mode Scan (SCAN) |
Collecte Logtail |
|
Instruction de contrôle |
Définit un jeu de données nommé. Les détails concernant les jeux de données SPL sont abordés dans la rubrique Référence générale. |
Oui |
× |
× |
√ |
× |
|
|
Instruction d'opération sur les champs |
Conserve les champs correspondant à un modèle spécifié et renomme les champs indiqués. Les expressions de conservation des champs sont traitées avant les expressions de renommage. |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
|
|
Supprime les champs correspondant à un modèle spécifié et conserve tous les autres champs. |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
✓ |
||
|
Renomme les champs spécifiés et conserve tous les autres champs. |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
||
|
Développe l'objet JSON de premier niveau d'un champ spécifié en plusieurs résultats. |
Prise en charge |
× |
Prise en charge |
Non pris en charge |
× |
||
|
Instruction de calcul SQL pour les données structurées |
Crée de nouveaux champs à partir des résultats d'expressions SQL. Les fonctions SQL prises en charge sont répertoriées dans la rubrique Liste des fonctions SQL prises en charge par SPL. |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
|
|
Filtre les données selon une expression SQL et conserve les entrées correspondantes. Les fonctions SQL prises en charge sont répertoriées dans la rubrique Liste des fonctions SQL prises en charge par SPL. |
Prise en charge |
✓ |
Prise en charge |
Prise en charge |
Prise en charge |
||
|
Instruction d'extraction de données semi-structurées |
Extrait les informations correspondant aux groupes d'expressions régulières d'un champ spécifié. |
√ |
√ |
Prise en charge |
✓ |
Prise en charge |
|
|
Extrait les informations au format CSV d'un champ spécifié. |
√ |
Prise en charge |
Prise en charge |
√ |
Prise en charge |
||
|
Extrait les champs JSON de premier niveau d'un champ spécifié. |
Prise en charge |
Prise en charge |
√ |
√ |
Prise en charge |
||
|
Extrait les informations sous forme de paires clé-valeur d'un champ spécifié. |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
Prise en charge |
||
|
Nouvelle instruction de transformation des données |
Regroupe les champs de journal dans un nouveau champ via la sérialisation JSON. Adapté aux scénarios de transmission structurée, tels que la création de corps de requête API. |
✓ |
× |
✓ |
Prise en charge |
× |
|
|
Convertit le format de journal en format de stockage de séries temporelles. |
Prise en charge |
× |
× |
× |
× |
||
|
Traite les données de métriques existantes, par exemple en ajoutant, modifiant ou supprimant des tags. |
Prise en charge |
× |
× |
× |
× |
||
|
Instruction d'agrégation |
Effectue une analyse statistique sur les champs de journal, semblable aux fonctions d'agrégation SQL telles que |
× |
× |
Non pris en charge |
Prise en charge |
× |
|
|
Trie les résultats de la requête par valeurs de champ ou résultats statistiques par ordre croissant ( |
× |
× |
× |
Prise en charge |
× |
||
|
Limite le nombre de lignes de journal renvoyées dans les résultats de la requête. Utilisez |
× |
× |
× |
Prise en charge |
× |
Présentation des fonctions
Les instructions SPL prennent en charge la plupart des fonctions SQL. La disponibilité et les scénarios d'application de chaque fonction sont décrits dans leur documentation respective.
|
Catégorie |
Description |
Fonctions courantes |
|
Calcule un résultat unique à partir d'un ensemble de valeurs d'entrée. |
||
|
Recherche, remplace, extrait, concatène et formate les données textuelles. |
||
|
Convertit, tronque et agrège les valeurs de date et d'heure. |
||
|
Extrait, transforme et interroge les données des objets et tableaux JSON. |
||
|
Correspond, extrait et remplace du texte à l'aide d'expressions régulières. |
||
|
Compare les données de séries temporelles sur différentes périodes. |
||
|
Accède, filtre et transforme les éléments d'un tableau. |
||
|
Manipule les paires clé-valeur (maps). |
||
|
Arrondit, génère des nombres aléatoires et effectue des calculs trigonométriques. |
||
|
Analyse les distributions de données à l'aide de fonctions de corrélation, de régression et de probabilité. |
||
|
Convertit les valeurs d'un type de données vers un autre. |
||
|
Effectue des agrégations ou des classements sur une fenêtre glissante de lignes. |
||
|
Analyse et traite les adresses IP. |
||
|
Extrait les composants des URL. |
||
|
Approxime les comptes distincts, les percentiles et les histogrammes pour les grands ensembles de données. |
||
|
Manipule les données binaires. |
||
|
Effectue des opérations bit à bit sur des entiers. |
||
|
Traite les objets de géométrie spatiale. |
||
|
Effectue des analyses et des calculs géospatiaux. |
||
|
Crée et manipule des représentations de couleurs. |
||
|
Estime la cardinalité sur de grands ensembles de données avec une utilisation minimale de la mémoire. |
||
|
Compare des valeurs de différents types (double, bigint, varchar, timestamp, date) et renvoie un booléen. |
||
|
Combine plusieurs expressions booléennes pour contrôler le flux logique. |
||
|
Convertit des tailles de données ou des intervalles de temps entre différentes unités. |
||
|
Suit les actions utilisateur séquentielles pour l'analyse des entonnoirs de conversion. |
||
|
Définit des fonctions inline pour les opérations de tableau d'ordre supérieur en SQL ou SPL. |
||
|
Renvoie différentes valeurs selon une condition spécifiée. |