Ingesta de datos en tiempo real con Eventstream de Microsoft Fabric
Eventstream es una característica de Microsoft Fabric que captura, transforma y enruta eventos en tiempo real a varios destinos. Puedes agregar orígenes de datos de eventos, destinos y transformaciones al flujo de eventos.
En este ejercicio, ingerirás datos de un origen de datos de ejemplo que emite un flujo de eventos relacionados con observaciones de puntos de recogida de bicicletas de un sistema de uso compartido de bicicletas en el que las personas pueden alquilar bicicletas dentro de una ciudad.
Este laboratorio se realiza en unos 30 minutos.
Nota: Necesitas un inquilino de Microsoft Fabric para completar este ejercicio.
Creación de un área de trabajo
Antes de trabajar con datos de Fabric, necesitas crear un área de trabajo con la capacidad gratuita de Fabric habilitada.
- En la página principal de Microsoft Fabric en
https://app.fabric.microsoft.com/home?experience=fabric
, selecciona Real-Time Intelligence. - En la barra de menús de la izquierda, selecciona Áreas de trabajo (el icono tiene un aspecto similar a 🗇).
- Crea una nueva área de trabajo con el nombre que prefieras y selecciona un modo de licencia que incluya capacidad de Fabric (Evaluación gratuita, Premium o Fabric).
-
Cuando se abra la nueva área de trabajo, debe estar vacía.
Creación de instancia de Eventhouse
Ahora que tienes un área de trabajo, puedes empezar a crear los elementos de Fabric que necesitarás para tu solución de inteligencia en tiempo real. Empezaremos por crear un centro de eventos.
- En la barra de menús de la izquierda, selecciona Inicio; y después, en la página principal de Inteligencia en tiempo real, crea un nuevo Centro de eventos con el nombre único que prefieras.
-
Cierra las sugerencias o avisos que se muestran hasta que veas tu nuevo centro de eventos vacío.
- En el panel de la izquierda, ten en cuenta que el centro de eventos contiene una base de datos KQL con el mismo nombre que el centro de eventos.
-
Selecciona la base de datos KQL para verla.
Actualmente no hay tablas en la base de datos. En el resto de este ejercicio, usarás un flujo de eventos para cargar datos de un origen en tiempo real en una tabla.
Creación de un Eventstream
- En la página principal de la base de datos KQL, selecciona Obtener datos.
-
Para el origen de datos, selecciona Eventstream > Nuevo flujo de eventos. Asigna un nombre al flujo de eventos
Bicycle-data
.La creación del nuevo flujo de eventos en el área de trabajo se completará en unos instantes. Una vez establecido, se le redirigirá automáticamente al editor principal, listo para empezar a integrar orígenes en el flujo de eventos.
Agregar un origen
- En el lienzo Eventstream, selecciona Usar datos de ejemplo.
-
Asigna un nombre al origen
Bicycles
y selecciona los datos de muestra Bicicletas.El flujo se asignará y se mostrará automáticamente en el lienzo del flujo de eventos.
Agregar un destino
- Usa el icono + a la derecha del nodo Bici-datos para agregar un nuevo nodo Centro de eventos.
- Usa el icono lápiz en el nuevo nodo del centro de eventos para editarlo.
- En el panel Eventhouse, establece las siguientes opciones de configuración.
- Modo de ingesta de datos:: procesamiento de eventos antes de la ingesta
- Nombre del destino:
bikes-table
- Área de trabajo:selecciona el área de trabajo que has creado al principio de este ejercicio
- Eventhouse: selecciona tu centro de eventos
- Base de datos KQL: selecciona la base de datos KQL.
- Tabla de destino: crea una nueva tabla denominada
bikes
- Formato de datos de entrada: JSON
- En el panel Eventhouse, selecciona Guardar.
- En la barra de herramientas, seleccione Publicar.
-
Espera aproximadamente un minuto a que se active el destino de los datos. Después, selecciona el nodo bikes-table en el lienzo de diseño y visualiza el panel Versión preliminar de datos inferior para ver los últimos datos que se han ingerido:
- Espera unos minutos y después usa el botón Actualizar para actualizar el panel Versión preliminar de datos. El flujo se ejecuta de forma perpetua, por lo que es posible que se hayan agregado nuevos datos a la tabla.
- Debajo del lienzo de diseño del flujo de eventos, consulta la pestaña Información de datos para ver los detalles de los eventos de datos que se han capturado.
Consulta de los datos capturados
El flujo de eventos que has creado toma datos del origen de ejemplo de datos de bicicletas y los carga en la base de datos del centro de eventos. Puedes analizar los datos capturados al consultar la tabla de la base de datos.
- En la barra de menú de la izquierda, selecciona tu base de datos KQL.
-
En la pestaña Base de datos, de la barra de herramientas de tu base de datos KQL, usa el botón Actualizar para actualizar la vista hasta que veas la tabla bikes debajo de la base de datos. Después selecciona la tabla bikes.
- En el menú … de la tabla bikes, selecciona Consultar tabla > Registros ingeridos en las últimas 24 horas.
-
En el panel de consulta, ten en cuenta que se ha generado y ejecutado la consulta siguiente, con los resultados que se muestran debajo:
// See the most recent data - records ingested in the last 24 hours. bikes | where ingestion_time() between (now(-1d) .. now())
-
Selecciona el código de consulta y ejecútalo para ver 100 filas de datos de la tabla.
Transformar datos de eventos
Los datos capturados no se modifican desde el origen. En muchos escenarios, es posible que desees transformar los datos del flujo de eventos antes de cargarlos en un destino.
- En la barra de menús de la izquierda, selecciona el flujo de eventos Bicycle-data.
- En la barra de herramientas, selecciona Editar para editar el flujo de eventos.
- En el menú Transformar eventos, selecciona Agrupar por para agregar un nuevo nodo Agrupar por al flujo de eventos.
-
Arrastra una conexión desde la salida del nodo Bicycle-data a la entrada del nuevo nodo Agrupar por y después usa el icono del lápiz en el nodo Agrupar por para editarla.
- Configura las propiedades de la sección de configuración Agrupar por:
- Nombre de la operación: GroupByStreet
- Tipo de agregado:seleccionar Suma
- Campo:selecciona No_Bikes. Después selecciona Agregar para crear la función SUMA de No_Bikes
- Agrupar agregaciones por (opcional): Calle
- Ventana de tiempo: saltos de tamaño constante
- Duración: 5 segundos
- Desplazamiento: 0 segundos
Nota: Esta configuración hará que la secuencia de eventos calcule el número total de bicicletas en cada calle cada 5 segundos.
-
Guarda la configuración y vuelve al lienzo del flujo de eventos, donde se indica un error (porque necesitas almacenar la salida de la transformación en algún lugar).
- Usa el icono + a la derecha del nodo GroupByStreet para agregar un nuevo nodo Centro de eventos.
- Configura el nuevo nodo del centro de eventos con las siguientes opciones:
- Modo de ingesta de datos:: procesamiento de eventos antes de la ingesta
- Nombre del destino:
bikes-by-street-table
- Área de trabajo:selecciona el área de trabajo que has creado al principio de este ejercicio
- Eventhouse: selecciona tu centro de eventos
- Base de datos KQL: selecciona la base de datos KQL.
- Tabla de destino: crea una nueva tabla denominada
bikes-by-street
- Formato de datos de entrada: JSON
- En el panel Eventhouse, selecciona Guardar.
- En la barra de herramientas, seleccione Publicar.
- Espere aproximadamente un minuto a que se activen los cambios.
-
En el lienzo de diseño, selecciona el nodo bikes-by-street-table y visualiza el panel Vista previa de datos debajo del lienzo.
Ten en cuenta que los datos trasformados incluyen el campo de agrupación que has especificado (Calle), la agregación que has especificado (SUM_no_Bikes) y un campo de marca de tiempo que indica el final de la ventana de saltos de tamaño constante de 5 segundos en la que se ha producido el evento (Window_End_Time).
Consultar los datos transformados
Ahora puedes consultar los datos de bicicletas que se han transformado y cargado en una tabla mediante tu flujo de eventos.
- En la barra de menú de la izquierda, selecciona tu base de datos KQL.
-
- En la pestaña Base de datos, de la barra de herramientas de tu base de datos KQL, usa el botón Actualizar para actualizar la vista hasta que veas la tabla bikes-by-street debajo de la base de datos.
- En el menú … de la tabla bikes-by-street, selecciona Consultar datos > Mostrar 100 registros cualesquiera.
-
En el panel de consulta, ten en cuenta que se genera y ejecuta la consulta siguiente:
['bikes-by-street'] | take 100
-
Modifica la consulta KQL para recuperar el número total de bicicletas por calle en cada ventana de 5 segundos:
['bikes-by-street'] | summarize TotalBikes = sum(tolong(SUM_No_Bikes)) by Window_End_Time, Street | sort by Window_End_Time desc , Street asc
-
Selecciona la consulta modificada y ejecútala.
Los resultados muestran el número de bicicletas observadas en cada calle dentro de cada período de 5 segundos.
Limpieza de recursos
En este ejercicio, has creado un centro de eventos y has anclado tablas en tu base de datos mediante un flujo de eventos.
Si ha terminado de explorar la base de datos KQL, puede eliminar el área de trabajo que ha creado para este ejercicio.
- En la barra de la izquierda, seleccione el icono del área de trabajo.
- En la barra de herramientas, selecciona Configuración del área de trabajo.
- En la sección General, seleccione Quitar esta área de trabajo. .