Panoramica delle query Kusto

Un query di Kusto è una richiesta di sola lettura per l'elaborazione di dati e la restituzione dei risultati. La richiesta viene specificata in testo normale, usando un modello di flusso di dati progettato per facilitare la lettura, la modifica e l'automazione della sintassi. La query usa entità dello schema che sono organizzate in una gerarchia simile a quella di SQL: database, tabelle e colonne.

La query è costituita da una sequenza di istruzioni di query, delimitate da un punto e virgola ( ), con almeno un'istruzione di espressione tabulare che è un'istruzione che produce dati disposti in una mesh di colonne e righe simile a una ; tabella. ; Le istruzioni di espressione tabulare della query producono i risultati della query.

La sintassi dell'istruzione di espressione tabulare prevede il flusso dei dati tabulari da un operatore di query tabulare all'altro, a partire dall'origine dati (ad esempio, una tabella in un database o un operatore che genera dati) e quindi attraverso un set di operatori di trasformazione dei dati che sono associati tra loro tramite l'uso del delimitatore barra verticale (|).

Ad esempio, la query Kusto seguente comprende un'unica istruzione, che è un'istruzione di espressione tabulare. L'istruzione inizia con un riferimento a una tabella denominata ( il database che ospita questa tabella è implicito qui e parte StormEvents delle informazioni di connessione). I dati (righe) per tale tabella vengono quindi filtrati in base al valore della colonna StartTime e quindi in base al valore della colonna State. La query restituisce quindi il numero di righe "rimanenti".

StormEvents 
| where StartTime >= datetime(2007-11-01) and StartTime < datetime(2007-12-01)
| where State == "FLORIDA"  
| count 

Eseguire questa query per visualizzare il risultato:

Conteggio
23

Comandi di controllo

A differenza delle query Kusto, i comandi di controllo sono richieste a Kusto per elaborare e potenzialmente modificare dati o metadati. Ad esempio, il comando di controllo seguente crea una nuova tabella Kusto con due colonne, Level e Text:

.create table Logs (Level:string, Text:string)

I comandi di controllo hanno una sintassi propria, che non fa parte della sintassi del linguaggi di query Kusto, anche se le due sintassi hanno in comune molti concetti. In particolare, i comandi di controllo si distinguono dalle query per la presenza di un punto (.) come primo carattere nel testo del comando, carattere che non può mai precedere il testo di una query. Questa distinzione evita molti tipi di attacchi alla sicurezza, semplicemente impedendo l'incorporamento di comandi di controllo all'interno delle query.

Non tutti i comandi di controllo modificano i dati o i metadati. Un'ampia classe di comandi che iniziano con .show viene usata per visualizzare i metadati o i dati. Ad esempio, il comando .show tables restituisce un elenco di tutte le tabelle nel database corrente.

Passaggi successivi