Поделиться через


Обработка событий с помощью редактора кода SQL (предварительная версия)

Редактор кода SQL ака оператор SQL (предварительная версия) — это новая возможность преобразования данных в потоке событий Fabric. Операторы SQL предоставляют возможности редактирования кода, где можно легко определить собственную логику преобразования пользовательских данных с помощью простых выражений SQL. В этой статье описывается, как использовать редактор кода SQL для преобразований данных в eventstream.

Note

Имена артефактов eventstream, включающие символы подчеркивания (_) или dot (.), несовместимы с оператором SQL. Для оптимального взаимодействия создайте новый Eventstream без использования символов подчеркивания или точек в имени артефакта.

Prerequisites

Перед началом работы необходимо выполнить следующие предварительные требования:

  • Доступ к рабочей области в режиме лицензии на емкость Fabric или в режиме пробной лицензии с разрешениями Контрибьютора или более высокого уровня.

Добавление редактора кода SQL в поток событий

Чтобы выполнять операции обработки потоков в потоках данных с помощью оператора SQL, добавьте оператора SQL в поток событий, выполнив следующие инструкции.

  1. Создайте новый поток событий и добавьте оператор SQL в поток событий с помощью одного из следующих параметров:

    • Добавьте оператор SQL с помощью кнопки "События преобразования " на верхней ленте.

      Снимок экрана, показывающий оператор SQL SELECT в меню событий Transfor.

    • Добавьте оператор SQL с помощью кнопки "Добавить назначение " на холсте.

      Снимок экрана: выбор оператора SQL в списке операторов преобразования на холсте.

  2. После выбора новый узел SQL добавляется в поток событий. Щелкните значок карандаша , чтобы завершить настройку оператора SQL.

    Снимок экрана: выбор значка карандаша на узле оператора SQL.

  3. В окне кода SQL укажите уникальное имя узла оператора SQL в потоке событий.

  4. Измените запрос в окне запроса или выберите "Изменить запрос ", чтобы ввести представление полноэкранного редактора кода.

    Снимок экрана: текстовое поле

  5. Полноэкранный режим редактора кода включает панель проводника ввода и вывода в левой части. Раздел редактора кода можно изменить, что позволяет изменить его размер в соответствии с вашими предпочтениями. Раздел предварительного просмотра в нижней части позволяет просматривать входные данные и результаты теста запроса.

    Снимок экрана: полный редактор SQL.

  6. Выделите текст в разделе "Выходные данные " и введите имя целевого узла. Оператор SQL поддерживает все назначения интеллектуальной инфраструктуры Real-Time: Eventhouse, Lakehouse, Activator, Stream и т. д.

    Снимок экрана: окно вывода с выбранной кнопкой +.

  7. Укажите псевдоним или имя назначения вывода, в котором записываются данные, обработанные с помощью оператора SQL.

    Снимок экрана: имя выходных данных.

  8. Затем добавьте SQL-запрос для требуемого преобразования данных.

    Поток событий построен на основе Azure Stream Analytics и поддерживает ту же семантику запросов языка запросов Stream Analytics. Дополнительные сведения о синтаксисе и использовании см. в справочнике по языку запросов Stream Analytics . Stream Analytics Query | Microsoft Learn.

    Базовая структура запросов:

    SELECT 
    
        column1, column2, ... 
    
    INTO 
    
        [output alias] 
    
    FROM 
    
        [input alias] 
    

    Query examples:

    Обнаружение высоких температур в комнате каждую минуту:

    
        SELECT 
        System.Timestamp AS WindowEnd, 
        roomId, 
        AVG(temperature) AS AvgTemp 
    INTO 
        output 
    FROM 
        input 
    GROUP BY 
        roomId, 
        TumblingWindow(minute, 1) 
    HAVING 
        AVG(temperature) > 75 
    

    Использование инструкции CASE для классификации температуры:

    SELECT
        deviceId, 
        temperature, 
        CASE  
            WHEN temperature > 85 THEN 'High' 
            WHEN temperature BETWEEN 60 AND 85 THEN 'Normal' 
            ELSE 'Low' 
        END AS TempCategory 
    INTO 
        CategorizedTempOutput 
    FROM 
        SensorInput 
    
  9. Нажмите кнопку "Тестовый запрос " на верхней ленте, чтобы проверить логику преобразования. Результат тестового запроса отображается в разделе результатов теста внизу.

    Снимок экрана: результаты теста.

  10. По завершении нажмите кнопку "Сохранить на ленте" в верхней части, чтобы вернуться к холсту потока событий.

    Снимок экрана: лента для запроса с кнопками сохранения и тестирования запросов.

  11. Если кнопка "Сохранить" включена, в окне КОДА SQL выберите его, чтобы сохранить параметры.

    Снимок экрана: окно КОДА SQL.

  12. Настройте место назначения.

    Снимок экрана: завершенный поток событий.

Limitations

  1. Оператор SQL предназначен для централизации всей логики преобразования в одном месте. В результате его нельзя использовать вместе с другими встроенными операторами в том же пути обработки. Цепочка нескольких операторов SQL в одном пути также не поддерживается. Кроме того, оператор SQL может выводить данные только на конечный узел в топологии.

  2. В настоящее время создание топологий Eventstream поддерживается только через пользовательский интерфейс (UX). Поддержка REST API для оператора SQL запланирована и будет доступна в предстоящих выпусках.