Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta parte del tutorial, configurará otro tipo de datos de ejemplo: un flujo de datos en tiempo real de datos de bus de ejemplo que incluye información de series temporales sobre ubicaciones de bus. Se transmiten los datos de ejemplo a un sistema de gestión de eventos, se realizan algunas transformaciones en los datos y, a continuación, se crea un atajo para integrar los datos del sistema de gestión de eventos en el lago de datos de ejemplo que creó en la sección anterior. El generador de gemelos digitales requiere que los datos estén en un lakehouse.
Crear una casa de eventos
Ve al área de trabajo en la que deseas crear la base de datos. Debe crear todos los recursos en la misma área de trabajo.
Seleccione + Nuevo elemento.
En el cuadro de búsqueda Filtrar por tipo de elemento, escriba Eventhouse.
Seleccione el elemento Eventhouse.
Escriba Tutorial como nombre del centro de eventos y haga clic en Crear. Eventhouse y una base de datos KQL se crean simultáneamente con el mismo nombre.
Una vez completado el aprovisionamiento, haga clic en Introducción en la ventana de bienvenida.
Se muestra la página de información general del sistema del centro de eventos.
Creación de la secuencia de eventos
En esta sección, creas una secuencia de eventos para enviar datos de transmisión de bus de ejemplo al eventhouse.
Agregar origen
Siga estos pasos para crear el flujo de eventos y agregar datos de ejemplo de Buses como origen.
En la página Información general del sistema del centro de eventos, seleccione la nueva base de datos Tutorial de la lista de bases de datos KQL .
En la cinta de menús, seleccione Obtener datos y elija Eventstream New eventstream > (Nueva secuencia de eventos).
Escriba BusEventstream como nombre y seleccione Crear. Cuando la secuencia de eventos esté lista, se abrirá.
Selecciona Usar datos de ejemplo.
En la página Agregar fuente, seleccione Buses en Datos de ejemplo. Escriba BusDataSource como nombre de origen. Selecciona Agregar.
Cuando la nueva secuencia de eventos esté lista, se abrirá en el lienzo de creación.
Transformación de datos
En esta sección, agregará una transformación a los datos de ejemplo entrantes. Este paso convierte los campos de cadena ScheduleTime y Timestamp al tipo DateTime, y renombra Timestamp a ArrivalTime para mayor claridad. Los campos de marca de tiempo deben estar en formato DateTime para que el generador de gemelos digitales (versión preliminar) los use como datos de serie temporal.
Siga estos pasos para agregar la transformación de datos.
Seleccione la flecha abajo en el icono Transformar eventos o agregar destino y, a continuación, seleccione la operación Administrar campos predefinidos . Se cambia el nombre del icono a ManageFields.
Seleccione el icono de edición (con forma de lápiz) en el icono MangeFields , que abre el panel Administrar campos .
Seleccione Agregar todos los campos. Esta acción garantiza que todos los campos de los datos de origen estén presentes a través de la transformación.
Sugerencia
Si no hay campos disponibles para agregarse, espere unos minutos para que los datos de ejemplo se inicialicen y vuelva a intentarlo. Puede seleccionar los nodos previos en el lienzo para visualizar sus datos y confirmar que los datos de ejemplo han llegado a ellos.
Seleccione el campo Marca de tiempo . Cambie el tipo a Sí. En Tipo convertido, seleccione DateTime en la lista desplegable. En Nombre, escriba el nuevo nombre de ActualTime.
Seleccione el campo ScheduleTime . Cambie el tipo a Sí. En Tipo convertido, seleccione DateTime en la lista desplegable. Deje el nombre como ScheduleTime.
Seleccione Guardar para guardar ambas propiedades actualizadas.
Se cierra el panel Administrar campos . El icono ManageFields sigue mostrando un error hasta que se conecta a un destino.
Agregar destino
En la cinta de menús, seleccione Agregar destino y, a continuación, seleccione Eventhouse.
Escriba la siguiente información en el panel Eventhouse:
Campo Importancia Modo de ingesta de datos Procesamiento de eventos antes de la ingesta Nombre del destino TutorialDestinación Área de trabajo Seleccione el área de trabajo en la que creó sus recursos. Centro de eventos Tutorial Base de datos KQL Tutorial Tabla de destino de KQL Crear nuevo: escriba bus_data_raw como nombre de tabla. Formato de datos de entrada Json Activar la ingesta después de agregar el origen de datos Comprobado Haga clic en Guardar.
En el lienzo de creación, seleccione el icono ManageFields y arrastre la flecha al icono TutorialDestination para conectarlos. Esta acción resuelve todos los mensajes de error del flujo.
En la cinta de menú, seleccione Publicar. El flujo de eventos ahora comienza a enviar los datos de streaming de ejemplo a tu central de eventos.
Después de unos minutos, la tarjeta TutorialDestination de la vista eventstream muestra los datos de ejemplo en la pestaña Vista previa de datos . Es posible que tenga que actualizar la versión preliminar varias veces mientras espera a que lleguen los datos.
Compruebe que la tabla de datos está activa en el centro de eventos. Vaya a su base de datos KQL Tutorial y actualice la vista. Ahora contiene una tabla denominada bus_data_raw que contiene datos.
Transformación de los datos mediante directivas de actualización
Ahora que los datos de transmisión por bus están en una base de datos KQL, puede usar funciones y una directiva de actualización de Kusto para realizar transformaciones adicionales en los datos. Las transformaciones que realice en esta sección preparan los datos para su uso en el generador de gemelos digitales (versión preliminar) e incluyen las siguientes acciones:
- Separa el campo
PropertiesJSON en columnas independientes para cada uno de sus elementos de datos contenidos,BusStatusyTimeToNextStation. El generador de gemelos digitales no tiene funcionalidades de análisis de JSON, por lo que debe separar estos valores antes de que los datos vayan al generador de gemelos digitales. - Agrega la columna
StopCode, que es una clave única que representa cada parada de bus. El propósito de este paso es completar el conjunto de datos de ejemplo para admitir este escenario del tutorial. Las instancias de entidad que se pueden unir de orígenes de datos independientes deben contener una columna común que el generador de gemelos digitales puede usar para vincularlas juntas, por lo que este paso agrega un conjunto simulado de valores int que coincide con elStop_Codecampo del conjunto de datos estático. En el mundo real, los conjuntos de datos relacionados ya contienen algún tipo de commonalidad. - Crea una nueva tabla denominada bus_data_processed que contiene los datos de bus transformados.
- Habilita la disponibilidad de OneLake para la nueva tabla, de modo que puedas usar un acceso directo para acceder a los datos en tu lakehouse TutorialLH.
Para ejecutar las consultas de transformación, siga estos pasos.
Abra el editor de consultas KQL seleccionando Tutorial_queryset en la base de datos KQL.
Copie y pegue los siguientes fragmentos de código en el editor de consultas (puede reemplazar las consultas de ejemplo o agregarlos en la parte inferior). Ejecute cada bloque de código en orden.
// 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)Sugerencia
También puede habilitar la disponibilidad de OneLake para la nueva tabla a través de la interfaz de usuario en lugar de usar código. Seleccione la tabla y active la disponibilidad de OneLake.
Con la opción de interfaz de usuario, la latencia predeterminada es de 15 minutos a varias horas, en función del volumen de datos. Para reducir la latencia a cinco minutos, use el comando .alter-merge table como se muestra en el bloque de código anterior.
Opcionalmente, cambie el nombre de la pestaña de consulta al procesamiento de datos de Bus para que pueda identificarlo más adelante.
Después de ejecutar las consultas, se crea una nueva tabla en la base de datos denominada bus_data_processed. Después de una breve espera, comienza a rellenarse con los datos procesados del bus.
Creación de un acceso directo de lakehouse
Por último, cree un acceso directo que exponga los datos procesados del bus en tutorialLH lakehouse, que contiene datos de ejemplo para el generador de gemelos digitales (versión preliminar). Este paso es necesario porque el generador de gemelos digitales requiere que su origen de datos sea un lakehouse.
Vaya a su TutorialLH lakehouse (que usted creó anteriormente en la parte uno, Cargar datos contextuales). En la cinta de menús, seleccione Obtener datos>Nuevo acceso directo.
En Orígenes internos, seleccione Microsoft OneLake. A continuación, elija la base de datos KQL Tutorial .
Expanda la lista de Tablas y active la casilla situada junto a bus_data_processed. Seleccione Siguiente.
Revise los detalles del acceso directo y seleccione Crear.
La tabla bus_data_processed ya está disponible en tu lakehouse. Compruebe que contiene datos (esto puede tardar unos minutos).
A continuación, usará estos datos de lakehouse como origen para crear una ontología en el generador de gemelos digitales.