A SPL oferece instruções para operações de campo, extração de dados, filtragem, agregação e transformação de dados. Cada instrução atende a cenários específicos de processamento, como transformação de dados, Ingest Processor, Consumer Processor, modo de varredura e coleta do Logtail.
Tipos de parâmetros
As instruções SPL utilizam os seguintes tipos de parâmetros.
|
Tipo de parâmetro |
Descrição |
|
Bool |
Parâmetro booleano que funciona como uma chave liga/desliga na SPL. |
|
Char |
Parâmetro de caractere ASCII, delimitado por aspas simples (''). Exemplos: |
|
Integer |
Parâmetro numérico inteiro. |
|
String |
Parâmetro de texto, delimitado por aspas simples (''). Exemplo: |
|
RegExp |
Parâmetro de expressão regular RE2, delimitado por aspas simples (''). Exemplo: Detalhes da sintaxe RE2: Syntax. |
|
JSONPath |
Parâmetro de caminho JSON, delimitado por aspas simples (''). Exemplo: Detalhes da sintaxe JSONPath: JsonPath. |
|
Field |
Parâmetro de nome de campo. Exemplo: Delimite com aspas duplas ("") os nomes de campo que contêm caracteres especiais (exceto letras, dígitos e sublinhados). Exemplo: Nota
As regras de diferenciação entre maiúsculas e minúsculas em nomes de campo estão documentadas em Referência geral. |
|
FieldPattern |
Nome de campo ou padrão com curinga. O curinga () corresponde a zero ou mais caracteres. Delimite os padrões com aspas duplas (""). Exemplo: Nota
As regras de diferenciação entre maiúsculas e minúsculas em nomes de campo estão documentadas em Referência geral. |
|
SPLExp |
Parâmetro de expressão SPL. |
|
SQLExp |
Parâmetro de expressão SQL. |
Lista de instruções SPL
|
Categoria da instrução |
Nome da instrução |
Descrição |
Transformação de dados |
Ingest Processor |
Consumer Processor |
Modo de varredura (SCAN) |
Coleta do Logtail |
|
Instrução de controle |
Defina um conjunto de dados nomeado. Os detalhes sobre conjuntos de dados SPL estão disponíveis na Referência geral. |
Sim |
× |
× |
√ |
× |
|
|
Instrução de operação de campo |
Mantém os campos correspondentes a um padrão especificado e renomeia campos selecionados. As expressões de retenção de campos são processadas antes das expressões de renomeação. |
Compatível |
Compatível |
Compatível |
Compatível |
Compatível |
|
|
Remove os campos correspondentes a um padrão especificado e mantém todos os demais. |
Compatível |
Compatível |
Compatível |
Compatível |
✓ |
||
|
Renomeia campos específicos e preserva todos os outros. |
Compatível |
Compatível |
Compatível |
Compatível |
Compatível |
||
|
Expande o objeto JSON de nível superior de um campo específico em vários resultados. |
Compatível |
× |
Compatível |
Não compatível |
× |
||
|
Instrução de cálculo SQL para dados estruturados |
Cria novos campos a partir de resultados de expressões SQL. As funções SQL compatíveis estão listadas na Lista de funções SQL suportadas pela SPL. |
Compatível |
Compatível |
Compatível |
Compatível |
Compatível |
|
|
Filtra dados por meio de uma expressão SQL e retém as entradas correspondentes. As funções SQL compatíveis estão listadas na Lista de funções SQL suportadas pela SPL. |
Compatível |
✓ |
Compatível |
Compatível |
Compatível |
||
|
Instrução de extração de dados semiestruturados |
Extrai informações correspondentes a grupos de expressões regulares de um campo específico. |
√ |
√ |
Compatível |
✓ |
Compatível |
|
|
Extrai informações no formato CSV de um campo específico. |
√ |
Compatível |
Compatível |
√ |
Compatível |
||
|
Extrai campos JSON de nível superior de um campo específico. |
Compatível |
Compatível |
√ |
√ |
Compatível |
||
|
Extrai informações de pares chave-valor de um campo específico. |
Compatível |
Compatível |
Compatível |
Compatível |
Compatível |
||
|
Nova instrução de transformação de dados |
Agrupa campos de log em um novo campo por meio de serialização JSON. Ideal para cenários de transmissão estruturada, como a construção de corpos de requisição de API. |
✓ |
× |
✓ |
Compatível |
× |
|
|
Converte o formato de log para o formato de armazenamento de séries temporais. |
Compatível |
× |
× |
× |
× |
||
|
Processa dados de métricas existentes, permitindo adicionar, modificar ou remover tags. |
Compatível |
× |
× |
× |
× |
||
|
Instrução de agregação |
Executa análises estatísticas em campos de log, semelhante às funções de agregação SQL como |
× |
× |
Não compatível |
Compatível |
× |
|
|
Ordena os resultados da consulta pelos valores dos campos ou resultados estatísticos em ordem crescente ( |
× |
× |
× |
Compatível |
× |
||
|
Limita o número de linhas de log retornadas nos resultados da consulta. Utilize |
× |
× |
× |
Compatível |
× |
Visão geral das funções
As instruções SPL suportam a maioria das funções SQL. A disponibilidade e os cenários aplicáveis de cada função estão descritos em suas respectivas documentações.
|
Categoria |
Descrição |
Funções comuns |
|
Calcula um único resultado a partir de um conjunto de valores de entrada. |
||
|
Localiza, substitui, extrai, concatena e formata dados de texto. |
||
|
Converte, trunca e agrega valores de data e hora. |
||
|
Extrai, transforma e consulta dados de objetos e arrays JSON. |
||
|
Corresponde, extrai e substitui texto usando expressões regulares. |
||
|
Compara dados de séries temporais em diferentes períodos de tempo. |
||
|
Acessa, filtra e transforma elementos de array. |
||
|
Opera em pares chave-valor (mapas). |
||
|
Arredonda valores, gera números aleatórios e executa cálculos trigonométricos. |
||
|
Analisa distribuições de dados com funções de correlação, regressão e probabilidade. |
||
|
Converte valores de um tipo de dados para outro. |
||
|
Calcula agregações ou classificações sobre uma janela deslizante de linhas. |
||
|
Analisa e processa endereços IP. |
||
|
Extrai componentes de URLs. |
||
|
Estima contagens distintas, percentis e histogramas para grandes conjuntos de dados. |
||
|
Opera em dados binários. |
||
|
Executa operações bit a bit em inteiros. |
||
|
Opera em objetos de geometria espacial. |
||
|
Executa análises e cálculos geoespaciais. |
||
|
Cria e manipula representações de cores. |
||
|
Estima a cardinalidade em grandes conjuntos de dados com uso mínimo de memória. |
||
|
Compara valores entre tipos (double, bigint, varchar, timestamp, date) e retorna um valor booleano. |
||
|
Combina múltiplas expressões booleanas para controlar o fluxo lógico. |
||
|
Converte tamanhos de dados ou intervalos de tempo entre diferentes unidades. |
||
|
Rastreia ações sequenciais do usuário para análise de funil de conversão. |
||
|
Define funções inline para operações de array de ordem superior em SQL ou SPL. |
||
|
Retorna valores diferentes com base em uma condição especificada. |