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.

  1. En la página principal de Microsoft Fabric en https://app.fabric.microsoft.com/home?experience=fabric, selecciona Real-Time Intelligence.
  2. En la barra de menús de la izquierda, selecciona Áreas de trabajo (el icono tiene un aspecto similar a 🗇).
  3. 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).
  4. Cuando se abra la nueva área de trabajo, debe estar vacía.

    Captura de pantalla de un área de trabajo vacía en Fabric.

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.

  1. 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.
  2. Cierra las sugerencias o avisos que se muestran hasta que veas tu nuevo centro de eventos vacío.

    Captura de pantalla de un nuevo centro de eventos

  3. 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.
  4. 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

  1. En la página principal de la base de datos KQL, selecciona Obtener datos.
  2. 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.

    Captura de pantalla de un nuevo flujo de eventos.

Agregar un origen

  1. En el lienzo Eventstream, selecciona Usar datos de ejemplo.
  2. 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.

    Revisar el lienzo del flujo de eventos

Agregar un destino

  1. Usa el icono + a la derecha del nodo Bici-datos para agregar un nuevo nodo Centro de eventos.
  2. Usa el icono lápiz en el nuevo nodo del centro de eventos para editarlo.
  3. 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

    Configuración del destino del flujo de eventos.

  4. En el panel Eventhouse, selecciona Guardar.
  5. En la barra de herramientas, seleccione Publicar.
  6. 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:

    Una tabla de destino de un flujo de eventos.

  7. 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.
  8. 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.

  1. En la barra de menú de la izquierda, selecciona tu base de datos KQL.
  2. 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.

    Una tabla en una base de datos KQL.

  3. En el menú de la tabla bikes, selecciona Consultar tabla > Registros ingeridos en las últimas 24 horas.
  4. 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())
    
  5. Selecciona el código de consulta y ejecútalo para ver 100 filas de datos de la tabla.

    Captura de pantalla de una consulta KQL.

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.

  1. En la barra de menús de la izquierda, selecciona el flujo de eventos Bicycle-data.
  2. En la barra de herramientas, selecciona Editar para editar el flujo de eventos.
  3. En el menú Transformar eventos, selecciona Agrupar por para agregar un nuevo nodo Agrupar por al flujo de eventos.
  4. 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.

    Agrega Agrupar por al evento de transformación.

  5. 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.

  6. 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).

  7. Usa el icono + a la derecha del nodo GroupByStreet para agregar un nuevo nodo Centro de eventos.
  8. 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

    Captura de pantalla de una tabla para los datos agrupados.

  9. En el panel Eventhouse, selecciona Guardar.
  10. En la barra de herramientas, seleccione Publicar.
  11. Espere aproximadamente un minuto a que se activen los cambios.
  12. En el lienzo de diseño, selecciona el nodo bikes-by-street-table y visualiza el panel Vista previa de datos debajo del lienzo.

    Captura de pantalla de una tabla para los datos agrupados.

    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.

  1. En la barra de menú de la izquierda, selecciona tu base de datos KQL.
    1. 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.
  2. En el menú de la tabla bikes-by-street, selecciona Consultar datos > Mostrar 100 registros cualesquiera.
  3. En el panel de consulta, ten en cuenta que se genera y ejecuta la consulta siguiente:

     ['bikes-by-street']
     | take 100
    
  4. 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
    
  5. 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.

    Captura de pantalla de una consulta que devuelve datos agrupados.

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.

  1. En la barra de la izquierda, seleccione el icono del área de trabajo.
  2. En la barra de herramientas, selecciona Configuración del área de trabajo.
  3. En la sección General, seleccione Quitar esta área de trabajo. .