Обзор запросов Kusto

Запрос Kusto позволяет обработать доступные только для чтения данные и получить результаты обработки. Запрос указывается в виде обычного текста с использованием модели потока данных, предназначенной для того, чтобы сделать синтаксис простым для чтения, написания и автоматизации запросов. В запросе используются сущности схемы, упорядоченные в иерархию, аналогичную SQL: базы данных, таблицы и столбцы.

Запрос состоит из последовательности операторов запроса, разделенных точкой с запятой (;). Хотя бы один оператор должен представлять собой оператор табличного выражения, то есть формировать данные в виде табличной сетки из строк и столбцов. Операторы табличных выражений запроса формируют результаты запроса.

Синтаксис оператора табличного выражения содержит табличный поток данных из одного оператора табличного запроса в другой с началом в источнике данных (например, таблице в базе данных или операторе, формирующего данные) и с прохождением через набор операторов преобразования данных, которые указаны с помощью разделителей в виде символа вертикальной черты (|).

Например, следующий запрос Kusto содержит один оператор, который является оператором табличного выражения. Оператор начинается со ссылки на таблицу с именем StormEvents (базы данных, в которой размещена эта таблица, указана неявно, и входит в информацию о соединении). Данные (строки) для этой таблицы затем фильтруются по значению столбца StartTime и затем фильтруются по значению столбца State. Запрос возвращает количество "выживших" строк.

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

Выполните этот запрос, чтобы увидеть результат:

Count
23

Управляющие команды

В отличие от запросов Kusto Управляющие команды — это запросы к Kusto для обработки и возможного изменения данных или метаданных. Например, следующая управляющая команда создает новую таблицу Kusto с двумя столбцами Level и Text.

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

Управляющие команды используют собственный синтаксис, не имеющий прямого отношения к языку запросов Kusto, хотя многие концепции являются сходными. В частности, управляющие команды отличаются от запросов наличием точки (.) в начале строки команды (запросы не могут начинаться с этого символа). Это отличие защищает от многих угроз безопасности, просто исключая возможность внедрения управляющих команд в запросы к данным.

Не все команды приводят к изменению данных или метаданных. Есть обширный класс команд, начинающихся с .show, которые используются для отображения метаданных и других сведений. Например, команда .show tables возвращает полный список таблиц в текущей базе данных.

Дальнейшие действия