Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Редактор обработчика событий — это интерфейс без кода, который позволяет перетаскивать и перетаскивать для разработки логики обработки данных событий. В этой статье описывается, как использовать редактор для разработки логики обработки.
Примечание.
Расширенные возможности включены по умолчанию при создании потоков событий. Если у вас есть потоки событий, созданные с помощью стандартных возможностей, эти потоки событий будут продолжать работать. Вы по-прежнему можете изменять и использовать их как обычно. Рекомендуется создать новый поток событий для замены стандартных потоков событий, чтобы воспользоваться дополнительными возможностями и преимуществами расширенных потоков событий.
Предварительные условия
Перед началом работы необходимо выполнить следующие предварительные требования:
- Доступ к рабочей области в режиме лицензии на емкость Fabric или в режиме пробной лицензии с разрешениями Контрибьютора или более высокого уровня.
Проектирование обработки событий с помощью редактора
Чтобы выполнять операции потоковой обработки потоков в потоках данных с помощью редактора без кода, выполните следующие действия.
Выберите "Изменить " на ленте, если вы еще не в режиме редактирования. Убедитесь, что вышестоящий узел для операций, подключенных к сети, имеет схему.
Чтобы вставить оператор обработки событий между узлом потока и назначением в режиме редактирования, можно использовать один из следующих двух методов:
Вставьте оператор непосредственно из строки подключения. Наведите указатель мыши на строку подключения и нажмите кнопку + . Раскрывающееся меню отображается в строке подключения, и вы можете выбрать оператора из этого меню.
Вставьте оператор с ленты меню или из канваса.
Оператор можно выбрать в меню "Преобразование событий " на ленте.
Наведите указатель мыши на любой из узлов и нажмите кнопку +, если вы удалили строку подключения. Раскрывающееся меню отображается рядом с этим узлом, и вы можете выбрать оператора из этого меню.
После вставки оператора необходимо повторно подключить эти узлы. Наведите указатель мыши на левый край узла потока, затем выберите и перетащите зеленый круг для подключения его к узлу оператора Управление полями. Выполните тот же процесс, чтобы подключить узел оператора "Управление полями" к вашему пункту назначения.
Выберите узел оператора "Управление полями". На панели конфигурации "Управление полями" выберите нужные поля. Если вы хотите добавить все поля, нажмите кнопку "Добавить все поля". Вы также можете добавить новое поле со встроенными функциями для агрегирования данных из вышестоящего потока. (В настоящее время встроенные функции, которые мы поддерживаем, являются некоторыми функциями в строковых функциях, функциях даты и времени, математических функциях. Чтобы найти их, выполните поиск по
built-in
.)После настройки оператора "Управление полями " выберите "Обновить ", чтобы проверить результат теста, созданный этим оператором.
Если у вас есть ошибки конфигурации, они отображаются на вкладке "Ошибки разработки " в нижней области.
Если результат теста выглядит правильно, выберите "Опубликовать ", чтобы сохранить логику обработки событий и вернуться в режим реального времени.
После выполнения этих действий вы можете визуализировать, как поток событий начинает потоковую передачу и обработку данных в режиме реального времени.
Редактор обработки событий
Редактор обработчика событий (холст в режиме редактирования) позволяет преобразовать данные в различные назначения. Введите режим редактирования для разработки операций потоковой обработки для потоков данных.
В режиме редактирования есть холст и нижняя панель, в которой можно:
- Создайте логику преобразования данных событий с помощью перетаскивания.
- Просмотрите результаты теста на каждом из узлов обработки от начала до конца.
- Обнаружение ошибок разработки в узлах обработки.
Макет редактора
- Меню ленты и холст (под номером один на изображении). В этой области вы можете разработать логику преобразования данных, выбрав оператор из меню "События преобразования" и соединив поточный и конечный узлы через вновь созданный узел оператора. Можно перетащить линии подключения или выбрать и удалить подключения.
- Правая область редактирования (две на изображении): эта панель позволяет настроить выбранное имя узла или просмотреть имя потока.
- Нижняя панель с вкладками "Предварительный просмотр данных" и "Ошибки авторинга " (три на изображении): в этой области вы можете просмотреть результат теста на выбранном узле во вкладке "Результат теста". На вкладке "Ошибки авторинга" перечислены все неполные или неправильные конфигурации в узлах операций.
Поддерживаемые типы узлов и примеры
Ниже перечислены типы пунктов назначения, которые поддерживают добавление операторов перед обработкой данных:
- Лейкхаус
- Eventhouse (обработка событий до ввода)
- Производный поток
- Активатор
Примечание.
Для мест назначения, которые не поддерживают предварительное добавление оператора, можно сначала добавить производный поток как выходной для вашего оператора. Затем добавьте целевой пункт в этот производный поток.
Обработчик событий в системе Lakehouse и базе данных KQL (обработка событий перед загрузкой) позволяет обрабатывать данные до их загрузки в конечное место назначения.
Предварительные условия
Перед началом работы необходимо выполнить следующие предварительные требования:
- Доступ к рабочей области в режиме лицензии на емкость Fabric или в режиме пробной лицензии с разрешениями Контрибьютора или более высокого уровня.
- Получите доступ к рабочей области с разрешениями участника или более поздних версий, где находится база данных Lakehouse или KQL.
Проектирование обработки событий с помощью редактора
Чтобы разработать обработку событий с помощью редактора обработчика событий:
Добавьте назначение Lakehouse и введите необходимые параметры в правой области. (См. раздел Добавление и управление назначением в потоке событий для получения подробных инструкций.)
Выберите "Открыть обработчик событий". Откроется экран редактора обработки событий.
На холсте редактора обработки событий выберите узел eventstream. Вы можете просмотреть схему данных или изменить тип данных в правой области событий .
Чтобы вставить оператор обработки событий между этим потоком событий и назначением в редактор обработчика событий, можно использовать один из следующих двух методов:
Вставьте оператор непосредственно из строки подключения. Наведите указатель мыши на строку подключения и нажмите кнопку "+". Раскрывающееся меню отображается в строке подключения, и вы можете выбрать оператора из этого меню.
Вставьте оператор с ленты меню или из канваса.
Оператор можно выбрать в меню "Операции " на ленте. Кроме того, можно наведите указатель мыши на один из узлов, а затем нажмите кнопку "+", если вы удалили строку подключения. Раскрывающееся меню отображается рядом с этим узлом, и вы можете выбрать оператора из этого меню.
Наконец, необходимо повторно подключить эти узлы. Наведите указатель мыши на левый край узла потока событий, а затем выберите и перетащите зеленый круг, чтобы подключить его к узлу оператора "Управление полями ". Выполните тот же процесс, чтобы подключить узел оператора "Управление полями " к узлу Lakehouse.
Выберите узел оператора "Управление полями". На панели конфигурации "Управление полями" выберите нужные поля. Если вы хотите добавить все поля, нажмите кнопку "Добавить все поля". Вы также можете добавить новое поле со встроенными функциями для агрегирования данных из вышестоящего потока. (В настоящее время мы поддерживаем некоторые встроенные функции, такие как строковые функции, функции даты и времени, математические функции. Чтобы найти их, выполните поиск по "встроенные функции.")
После настройки оператора "Управление полями " выберите "Обновить статическую предварительную версию" , чтобы просмотреть данные, которые создает этот оператор.
Если у вас возникли ошибки конфигурации, они отображаются на вкладке " Ошибка разработки" в нижней области.
Если предварительный просмотр данных выглядит правильно, нажмите кнопку "Готово ", чтобы сохранить логику обработки событий и вернуться на экран конфигурации назначения Lakehouse.
Нажмите кнопку "Добавить ", чтобы завершить создание назначения Lakehouse.
Редактор обработчика событий
Обработчик событий позволяет преобразовать данные, которые вы отправляете в место назначения lakehouse. При настройке назначения Lakehouse вы найдете параметр обработчика событий Open в середине экрана конфигурации назначения Lakehouse.
При выборе обработчика событий Open запускается экран редактора обработки событий, где можно определить логику преобразования данных.
Редактор обработчика событий включает холст и нижнюю панель, на которой можно:
- Создайте логику преобразования данных событий с помощью перетаскивания.
- Предварительный просмотр данных в каждом из узлов обработки с начала до конца.
- Обнаружение ошибок разработки в узлах обработки.
Макет экрана похож на главный редактор. Он состоит из трех разделов, показанных на следующем рисунке:
Холст с представлением схемы: на этой панели можно разработать логику преобразования данных, выбрав оператор (в меню "Операции ") и подключив поток событий и конечные узлы через только что созданный узел оператора. Можно перетащить линии подключения или выбрать и удалить подключения.
Правая область редактирования: эта область позволяет настроить выбранный узел операции или просмотреть схему потока событий и назначения.
Нижняя панель с вкладками «Предварительный просмотр данных» и «Ошибки разработки»: В данной области можно просмотреть данные на выбранном узле во вкладке «Предварительный просмотр данных». Вкладка «Ошибки разработки» перечисляет любые незавершённые или неправильные конфигурации в узлах операций.
Ошибки разработки
Ошибки авторства ссылаются на ошибки, возникающие в редакторе обработчика событий из-за неполной или неправильной конфигурации узлов операций, что помогает вам найти и устранить потенциальные проблемы в вашем обработчике событий.
Ошибки разработки можно просмотреть на нижней панели редактора обработчика событий. На нижней панели перечислены все ошибки разработки, каждая ошибка разработки содержит четыре столбца:
- Идентификатор узла: указывает идентификатор узла операции, в котором произошла ошибка авторинга.
- Тип узла: указывает тип узла операции, в котором произошла ошибка авторинга.
- Уровень: указывает серьезность ошибки авторинга, существует два уровня: Неустранимая и Сведения. Ошибка разработки на неустранимом уровне означает, что обработчик событий имеет серьезные проблемы и не может быть сохранен или запущен. Ошибка разработки на уровне информации означает, что обработчик событий имеет некоторые советы или предложения, которые помогут оптимизировать или улучшить обработчик событий.
- Ошибка: указывает конкретную информацию об ошибке разработки, кратко описывая причину и влияние ошибки разработки. Чтобы просмотреть сведения, можно выбрать вкладку "Показать сведения ".
Так как Eventstream и Eventhouse поддерживают различные типы данных, процесс преобразования типов данных может привести к ошибкам разработки.
В следующей таблице показаны результаты преобразования типов данных из Eventstream в Eventhouse. Столбцы представляют типы данных, поддерживаемые Eventstream, и строки представляют типы данных, поддерживаемые Eventhouse. Ячейки указывают результаты преобразования, которые могут быть одним из следующих трех:
✔️ Указывает на успешное преобразование, без ошибок или предупреждений.
❌ Указывает на невозможное преобразование, возникает неустранимая ошибка разработки. Сообщение об ошибке аналогично: тип данных "{1}" для столбца "{0}" не соответствует ожидаемому типу "{2}" в выбранной таблице KQL и не может быть автоконвертирован.
⚠️ Указывает на возможное, но неточное преобразование, в результате которого возникает ошибка при создании информации. Сообщение об ошибке аналогично: тип данных "{1}" для столбца "{0}" не соответствует ожидаемому типу "{2}" в выбранной таблице KQL. Он автоматически преобразован в "{2}".
струна | булевая переменная (bool) | дата и время | динамический | гид | инт | долго | настоящий | временной интервал | десятичное число | |
---|---|---|---|---|---|---|---|---|---|---|
Int64 | ❌ | ❌ | ❌ | ✔️ | ❌ | ⚠️ | ✔️ | ⚠️ | ❌ | ✔️ |
Двойной | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ⚠️ | ❌ | ⚠️ |
Струна | ✔️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Дата и время | ⚠️ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Запись | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
массива | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Как видно из таблицы, некоторые преобразования типов данных успешны, например строка в строку. Эти преобразования не создают ошибок разработки и не влияют на работу обработчика событий.
Некоторые преобразования типов данных являются невозможными, например int в строку. Эти преобразования создают неустранимые ошибки разработки уровня, что приводит к сбою сохранения обработчика событий. Чтобы избежать этих ошибок, необходимо изменить тип данных в потоке событий или в таблице KQL.
Некоторые преобразования типов данных возможны, но не точные, например int в реальные. Эти преобразования создают ошибки разработки на уровне информации, указывающие на несоответствие между типами данных и результатами автоматического преобразования. Эти преобразования могут привести к потере точности или структуры данных. Вы можете выбрать, следует ли игнорировать эти ошибки или изменять тип данных в потоке событий или в таблице KQL для оптимизации обработчика событий.
Операторы преобразования
Обработчик событий предоставляет семь операторов, которые можно использовать для преобразования данных событий в соответствии с вашими бизнес-потребностями.
Агрегат
Используйте преобразование "Агрегат" для вычисления агрегирования (суммы, минимального, максимального или среднего) при каждом возникновении нового события в течение определенного периода времени. Эта операция также позволяет переименовывать эти вычисляемые столбцы и проводить фильтрацию или разбиение агрегатов на основе других измерений в ваших данных. В одной и той же трансформации можно использовать одну или несколько агрегаций.
- Имя оператора: укажите имя операции агрегирования.
- Добавление агрегатной функции: добавление одной или нескольких агрегаций в агрегатную операцию.
- Тип: выберите тип агрегирования: Sum, Minimum, Maximum или Average.
- Поле: выберите столбец для обработки.
- Имя: определение имени для этой функции агрегирования.
- Секционирование по: выберите столбец для группировки агрегирования.
- Агрегированные значения за последний: укажите временное окно для агрегации (по умолчанию — 5 секунд).
Развернуть
Используйте преобразование "Развернуть массив" для создания новой строки для каждого значения в массиве. Можно выбрать создание строки для отсутствующих или пустых массивов или не создавать строку для отсутствующих или пустых массивов.
Фильтр
Используйте преобразование фильтра для фильтрации событий на основе значения поля во входных данных. В зависимости от типа данных (число или текст), преобразование сохраняет значения, соответствующие выбранному условию, например null или не null.
Группировать по
Используйте преобразование Группировать по для вычисления агрегаций для всех событий в течение определенного периода времени. Вы можете выполнять группирование по значениям в одном или нескольких полях. Это похоже, как преобразование "Агрегат" позволяет переименовать столбцы, но предоставляет больше опций для агрегирования и включает более сложные опции для временных окон. Как Агрегат, вы можете добавить более одного агрегирования для каждого преобразования.
Агрегаты, доступные в преобразовании:
- Среднее значение
- Численность
- Максимум
- Минимум
- Процентиль (постоянный и дискретный).
- стандартное отклонение.
- Сумма
- Дисперсия
В сценариях потоковой обработки данных во временных окнах распространенным шаблоном является выполнение операций с данными, содержащимися в этих окнах. Обработчик событий поддерживает оконные функции, которые интегрированы с оператором группировки. Его можно определить в параметре этого оператора.
Управление полями
Преобразование "Управление полями " позволяет добавлять, удалять, изменять тип данных или переименовать поля, поступающие из входных данных или другого преобразования. Параметры боковой панели предоставляют возможность добавления нового поля, выбрав "Добавить поле", добавив несколько полей или добавив все поля одновременно.
Кроме того, можно добавить новое поле со встроенными функциями, чтобы агрегировать данные из вышестоящего потока. В настоящее время мы поддерживаем некоторые встроенные функции в строковых функциях, функциях даты и времени и математических функциях. Чтобы найти их, выполните поиск по запросу "встроенные функции".
В следующей таблице показаны результаты изменения типа данных с помощью полей управления. Столбцы представляют исходные типы данных, а строки представляют целевой тип данных.
- Если в ячейке есть ✔️, это означает, что она может быть преобразована напрямую, и в раскрывающемся списке отображается параметр целевого типа данных.
- Если в ячейке есть ❌, это означает, что она не может быть преобразована, и параметр целевого типа данных не отображается в раскрывающемся списке.
- Если в ячейке есть ⚠️, это означает, что её можно преобразовать, но она должна соответствовать определённым условиям, таким как соответствие формата строки требованиям целевого типа данных. Например, при преобразовании из строки в int строка должна быть допустимой целочисленной формой, например
123
, неabc
.
Int64 | Двойной | Струна | ДатаВремя | Запись | Массив | |
---|---|---|---|---|---|---|
Int64 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
Двойной | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
Струна | ⚠️ | ⚠️ | ✔️ | ⚠️ | ❌ | ❌ |
Дата и время | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ |
Запись | ❌ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
массива | ❌ | ❌ | ✔️ | ❌ | ❌ | ✔️ |
Объединение
Используйте преобразование Union для подключения двух или нескольких узлов и добавления событий, которые совместно используют поля (с одинаковым именем и типом данных) в одну таблицу. Поля, которые не соответствуют, удаляются и не включаются в выходные данные.
Присоединиться
Используйте преобразование Join для объединения событий из двух входных данных на основе пар полей, которые вы выбрали. Если вы не выбираете пару полей, соединение зависит от времени по умолчанию. По умолчанию это преобразование отличается от пакетного преобразования.
Как и при регулярных соединениях, у вас есть варианты для логики соединения:
- Внутреннее соединение: включите только записи из обеих таблиц, в которых пара совпадает.
- Левое внешнее соединение: включите все записи из левой (первой) таблицы и только записи из второй, которые соответствуют паре полей. Если совпадения нет, поля из второго входного ввода пусты.