Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой части руководства вы настраиваете другой тип примеров данных: поток данных в режиме реального времени с примеров данных автобуса, включающих временные ряды с информацией о расположениях автобусов. Вы передаете образец данных в хранилище событий (eventhouse), выполняете некоторые преобразования данных, а затем создаете ярлык для получения данных из хранилища событий в образце озера данных, созданном в предыдущем разделе. Для конструктора цифровых двойников требуется, чтобы данные были в озерном доме.
Создание дома событий
Перейдите в рабочую область, в которой вы хотите создать ресурсы учебника. Необходимо создать все ресурсы в одной рабочей области.
Выберите +Создать элемент.
В поле поиска "Фильтр по типу элемента " введите Eventhouse.
Выберите элемент Eventhouse.
Введите Учебное пособие в качестве названия платформы событий и нажмите «Создать». Хранилище событий и база данных KQL создаются одновременно под одним и тем же именем.
После завершения подготовки нажмите кнопку "Начать работу " в окне приветствия.
Отображается страница обзора системы eventhouse.
Создание потока событий
В этом разделе описано, как создать поток событий для отправки образца данных потоковой передачи шины в хранилище событий.
Добавление источника
Следуйте этим шагам, чтобы создать EventStream и добавить данные Buses в качестве источника.
На странице обзора системы в хранилище событий выберите новую базу данных Учебника из списка баз данных KQL .
На ленте меню выберите "Получить данные " и выберите "Eventstream > New eventstream".
Введите BusEventstream в качестве имени и нажмите кнопку "Создать". Когда поток событий будет готов, он откроется.
Выберите "Использовать примеры данных".
На странице "Добавить источник " выберите "Автобусы " в разделе "Пример данных". Введите BusDataSource для исходного имени. Нажмите кнопку "Добавить".
Когда новый поток событий будет готов, он открывается на холсте разработки.
Преобразование данных
В этом разделе описано, как добавить одно преобразование в входящие примеры данных. На этом шаге выполняется приведение строковых полей ScheduleTime и Timestamp к типу DateTime, а также переименование TimestampArrivalTime для ясности. Поля временных меток должны быть в формате DateTime, чтобы построитель цифровых двойников (предварительная версия) мог использовать их как данные временных рядов.
Выполните следующие действия, чтобы добавить преобразование данных.
Нажмите стрелку вниз на Transform events or add destination, затем выберите предопределенную операцию "Управление полями". Плитка переименована в ManageFields.
Щелкните значок редактирования (в виде карандаша) на плитке MangeFields , которая открывает панель "Управление полями ".
Выберите "Добавить все поля". Это действие гарантирует, что все поля из исходных данных присутствуют через преобразование.
Подсказка
Если поля не доступны для добавления, подождите несколько минут, чтобы инициализировать образец данных, а затем повторите попытку. Вы можете выбрать предыдущие узлы на холсте, чтобы просмотреть их данные и убедиться, что образцы данных достигли их.
Выберите поле метки времени . Переключите тип "Изменить " на "Да". Для Преобразованного Типа выберите ДатаВремя в раскрывающемся списке. В поле "Имя" введите новое имя ActualTime.
Выберите поле ScheduleTime . Переключите тип "Изменить " на "Да". Для Преобразованного Типа выберите ДатаВремя в раскрывающемся списке. Оставьте имя ScheduleTime.
Нажмите кнопку "Сохранить", чтобы сохранить оба обновленных свойства.
Область "Управление полями " закрывается. Плитка ManageFields продолжает отображать ошибку, пока не подключите ее к месту назначения.
Добавление назначения
На ленте меню выберите "Добавить назначение", а затем выберите Eventhouse.
Введите следующие сведения в панели Eventhouse:
Поле Ценность Режим приема данных Обработка событий перед поглощением Имя назначения УчебникDestination Рабочая область Выберите рабочую область, в которой вы создали ресурсы. Eventhouse Руководство База данных KQL Руководство Целевая таблица KQL Создание нового— ввод bus_data_raw в качестве имени таблицы Формат входных данных Json Включите погрузку данных после добавления источника Проверено Нажмите кнопку "Сохранить".
На холсте разработки выберите плитку ManageFields и перетащите стрелку на плитку TutorialDestination , чтобы подключить их. Это действие разрешает все сообщения об ошибках в потоке.
На ленте меню выберите "Опубликовать". Теперь поток событий начинает отправлять образцы потоковых данных в ваше хранилище событий.
Через несколько минут карточка TutorialDestination в представлении событий отображает примеры данных на вкладке "Предварительный просмотр данных ". Возможно, потребуется обновить предварительную версию несколько раз, пока вы ожидаете поступления данных.
Убедитесь, что таблица данных активна в вашем хранилище событий. Перейдите в базу данных KQL учебника и обновите представление. Теперь она содержит таблицу с именем bus_data_raw который содержит данные.
Преобразование данных с помощью политик обновления
Теперь, когда данные потоковой передачи шины находится в базе данных KQL, можно использовать функции и политику обновления Kusto для дальнейшего преобразования данных. Преобразования, выполняемые в этом разделе, подготавливают данные для использования в построителе цифровых двойников (предварительная версия) и включают следующие действия:
- Разбивает поле
PropertiesJSON на отдельные столбцы для каждого из содержащихся в нем элементов данных иBusStatusTimeToNextStation. Построитель цифровых двойников не имеет возможностей синтаксического анализа JSON, поэтому перед переходом данных в построитель цифровых двойников необходимо разделить эти значения. - Добавляет столбец
StopCode, который представляет собой уникальный ключ, представляющий каждую остановку автобуса. Этот шаг предназначен только для завершения примера набора данных для поддержки этого сценария руководства. Присоединенные экземпляры сущностей из отдельных источников данных должны содержать общий столбец, который построитель цифровых моделей может использовать для их связывания, поэтому на этом этапе добавляется имитированный набор целых чисел, соответствующийStop_Codeполю в наборе данных о статических автобусных остановках. В реальном мире связанные наборы данных уже содержат нечто общее. - Создает новую таблицу с именем bus_data_processed , которая содержит преобразованные данные шины.
- Включает доступность OneLake для новой таблицы, чтобы можно было использовать ярлык для доступа к данным в вашем TutorialLH lakehouse.
Чтобы выполнить запросы преобразования, выполните следующие действия.
Откройте редактор запросов KQL, выбрав Tutorial_queryset в базе данных KQL.
Скопируйте и вставьте приведенные ниже фрагменты кода в редактор запросов (можно заменить примеры запросов или добавить их в нижней части). Запустите каждый блок кода в правильном порядке.
// Set columns .create-or-alter function extractBusData () { bus_data_raw | extend BusState = tostring(todynamic(Properties).BusState) , TimeToNextStation = tostring(todynamic(Properties).TimeToNextStation) , StopCode = toint(10000 + abs(((toint(BusLine) * 100) + toint(StationNumber)) % 750)) | project-away Properties }// Create table .create table bus_data_processed (ActualTime:datetime, TripId:string, BusLine:long, StationNumber:long, ScheduleTime:datetime, BusState:string, TimeToNextStation:string, StopCode:int)//Load data into table .alter table bus_data_processed policy update ``` [{ "IsEnabled": true, "Source": "bus_data_raw", "Query": "extractBusData", "IsTransactional": false, "PropagateIngestionProperties": true }] ```// Enable OneLake availability .alter-merge table bus_data_processed policy mirroring dataformat=parquet with (IsEnabled=true, TargetLatencyInMinutes=5)Подсказка
Вы также можете включить доступность OneLake для новой таблицы с помощью пользовательского интерфейса вместо использования кода. Выберите таблицу и включите переключатель для доступности OneLake.
При использовании параметра пользовательского интерфейса задержка по умолчанию составляет 15 минут до нескольких часов в зависимости от объема данных. Чтобы уменьшить задержку до пяти минут, используйте команду .alter-merge table, как показано в предыдущем блоке кода.
При необходимости переименуйте вкладку запроса на обработку данных шины , чтобы ее можно было определить позже.
После выполнения запросов в базе данных создается новая таблица с именем bus_data_processed. После короткого ожидания он начинает заполняться обработанными данными шины данных.
Создать ярлык для lakehouse
Наконец, создайте ярлык, предоставляющий обработанные данные шины в TutorialLH lakehouse, содержащем примеры данных для конструирования цифровых двойников (предварительная версия). Этот шаг необходим, так как конструктор цифровых двойников требует, чтобы источник данных был озерохранилищем.
Перейдите в TutorialLH lakehouse (вы создали его ранее в первой части, Загрузить контекстные данные). На ленте меню выберите Получить данные>Новая ссылка.
В разделе "Внутренние источники" выберите Microsoft OneLake. Затем выберите базу данных KQL Учебник.
Разверните список таблиц и установите флажок рядом с bus_data_processed. Нажмите кнопку Далее.
Просмотрите сведения о ярлыке и нажмите кнопку "Создать".
Таблица bus_data_processed теперь доступна в вашем хранилище данных. Убедитесь, что он содержит данные (это может занять несколько минут).
Затем вы используете эти данные Lakehouse в качестве источника для создания онтологии в конструкторе цифровых двойников.