Tema 4 de 6
Con dispositivos inteligentes y acceso a internet por todas partes, muchos datos llegan como un flujo constante que se puede procesar al instante. El examen pide distinguir el procesamiento por lotes del procesamiento en streaming e identificar los servicios de Microsoft para el análisis en tiempo real.
Contenido
Por lotes (batch)
Los registros se recogen y guardan, y después se procesan juntos en una sola operación. El momento puede ser un intervalo programado (cada hora), al llegar cierta cantidad de datos o tras otro evento.
En streaming
Un origen de datos se supervisa constantemente y cada dato se procesa en tiempo real según llega, sin esperar al siguiente lote.
El ejemplo de los coches
Contar coches por lotes es como meterlos en un aparcamiento y contarlos parados: no hay resultado hasta tener el lote. En streaming se cuentan según pasan, y se puede agregar por intervalos, como los coches por minuto.
| Lotes | Ventaja | Inconveniente |
|---|---|---|
| Capacidad | Procesa grandes volúmenes en un momento conveniente | Todos los datos deben estar listos antes de empezar |
| Uso del sistema | Se programa en horas de poca carga, como la noche | Hay retraso entre la entrada y el resultado |
| Errores | — | Un error, incluso pequeño, puede detener todo el lote |
| Lotes | Streaming | |
|---|---|---|
| Alcance | Todos los datos del conjunto | Los datos más recientes o una ventana móvil (los últimos 30 s) |
| Tamaño | Grandes conjuntos de datos | Registros individuales o microlotes |
| Latencia | Normalmente unas horas | Segundos o milisegundos |
| Análisis | Análisis complejos | Respuestas simples, agregados, medias móviles |
Muchas soluciones mezclan lotes y streaming para analizar datos históricos y en tiempo real. Incluso sin análisis en tiempo real, el streaming se usa a menudo para capturar datos y guardarlos para procesarlos por lotes después.
Los eventos de un origen en streaming se capturan en tiempo real.
Los datos de otros orígenes se ingieren en un almacén (a menudo un data lake) para procesarlos por lotes.
Si no hace falta análisis en tiempo real, los datos capturados se escriben en el almacén para procesarlos después.
Si hace falta, una tecnología de streaming los prepara, filtrando o agregando por ventanas temporales.
Los datos no streaming se procesan por lotes y se guardan en un almacén analítico (data warehouse) para el análisis histórico.
Los resultados del streaming también pueden persistirse en ese almacén.
Herramientas de análisis y visualización muestran los datos en tiempo real e históricos.
Otras arquitecturas comunes son la delta y la kappa; esta última elimina la capa de lotes y trata todos los datos como un flujo continuo que se reproduce si hay que reprocesar.
Evento
Una señal de un sensor, un mensaje en redes, una línea de log
Origen
Una carpeta, una tabla o una cola que garantiza orden y procesamiento único
Procesamiento
Una consulta perpetua que filtra, proyecta o agrega por ventanas temporales
Destino (sink)
Un archivo, una tabla, un panel en tiempo real u otra cola
Conjunto de herramientas integradas en Microsoft Fabric para ingerir, procesar y analizar datos en streaming, desde la llegada de los datos hasta la visualización y la acción automática, todo en la misma área de trabajo.
Eventstreams
Ingieren, enrutan y transforman datos en streaming.
Eventhouse
Base de datos optimizada para series temporales y eventos, que se consulta con KQL.
Real-Time Dashboards
Visualización de datos en directo.
Activator
Dispara acciones automáticas cuando los datos cumplen condiciones definidas.
Real-Time hub
Catálogo centralizado para descubrir, añadir, explorar y compartir datos en streaming de toda la organización.
Ayuda de IA
Copilot genera consultas KQL a partir de preguntas en lenguaje natural.
KQL (Kusto Query Language) es un lenguaje de consulta pensado para el análisis rápido de logs y telemetría. Es también el lenguaje de Azure Data Explorer, una plataforma gestionada para consultar datos con marca de tiempo.
Apache Spark reparte el trabajo entre muchas máquinas (un clúster) y admite Python, Scala, Java, R y SQL, tanto por lotes como en streaming. En Azure está en Microsoft Fabric y en Azure Databricks. Spark Structured Streaming es la biblioteca de Spark para datos en streaming:
Se conecta a un origen en streaming, como Azure Event Hubs, una carpeta de archivos o una fuente de red.
Spark lee los datos en un dataframe: una tabla que se va llenando según llegan eventos.
Se escribe una consulta sobre el dataframe, por ejemplo eventos por minuto o una media móvil.
El resultado se escribe en un destino: un archivo, una base de datos o un panel.
Tablas Delta para lotes y streaming
Una misma tabla Delta puede ser destino de streaming y origen de consultas por lotes, así no hace falta almacenamiento separado para datos históricos y en directo. Delta Lake aporta fiabilidad (las escrituras fallidas no corrompen los datos) y esquema obligatorio.
Solución PaaS para definir trabajos de streaming que ingieren datos de un origen, aplican una consulta perpetua y escriben el resultado en una salida. Sirve para escenarios independientes o híbridos fuera de Fabric.
| Ventana | Cómo funciona |
|---|---|
| Tumbling (saltos sin solapamiento) | Segmentos de tiempo fijos que no se repiten ni se solapan; cada evento está en una sola ventana |
| Hopping | Avanzan un periodo fijo y pueden solaparse; un evento puede estar en varias |
| Sliding | Emiten resultados solo cuando entra o sale un evento de la ventana |
| Session | Agrupan eventos que llegan en momentos similares y filtran los periodos sin datos |
| Snapshot | Agrupan eventos con la misma marca de tiempo |
Orígenes
Destinos
| Situación | Respuesta | Por qué |
|---|---|---|
| Generar la factura mensual de una tarjeta con todas las compras del mes | Procesamiento por lotes | Se agrupan y procesan juntas. |
| Activar alarmas y abrir puertas en cuanto se detecta humo | Procesamiento en streaming | Respuesta inmediata en tiempo real. |
| Contar los coches que pasan por minuto | Streaming con ventanas temporales | Agregados sobre intervalos de tiempo. |
| Ingerir millones de eventos por segundo con compatibilidad Kafka | Azure Event Hubs | Plataforma de streaming gestionada. |
| Ingerir telemetría de dispositivos IoT | Azure IoT Hub | Optimizado para dispositivos IoT. |
| Paneles en directo y alertas automáticas al cumplirse una condición, dentro de Fabric | Real-Time Intelligence (Real-Time Dashboards y Activator) | Herramientas integradas en Fabric. |
| Ampliar a streaming el trabajo que ya se hace con Spark | Spark Structured Streaming | Misma tecnología para lotes y streaming. |
| Trabajo de streaming PaaS independiente, fuera de Fabric, con consulta SQL | Azure Stream Analytics | Entrada, consulta perpetua y salida. |
❓ ¿El procesamiento en streaming es el mejor para análisis complejos sobre todo el histórico?
No. Para análisis complejos sobre todo el conjunto se usan lotes; el streaming trabaja con datos recientes y cálculos sencillos.
❓ ¿Qué latencia tiene típicamente el procesamiento por lotes?
Unas horas; el streaming, segundos o milisegundos.
❓ ¿Qué componente de Real-Time Intelligence dispara acciones automáticas?
Activator.
❓ ¿Con qué lenguaje se consulta un Eventhouse?
Con KQL (Kusto Query Language).
❓ ¿Azure Stream Analytics es IaaS?
No. Es PaaS: defines el trabajo y Azure gestiona la infraestructura.
❓ ¿En una ventana tumbling un evento puede pertenecer a varias ventanas?
No. Las ventanas tumbling no se solapan; las hopping sí.
❓ ¿Qué arquitectura elimina la capa de lotes?
La arquitectura kappa.
¿Entendiste este tema?
Pon a prueba lo que acabas de aprender
Un fabricante quiere ver en un panel en directo la temperatura de sus máquinas y recibir automáticamente una alerta cuando supere un umbral, todo dentro de Microsoft Fabric. ¿Qué usa?
Preguntas originales, cada una con su explicación.
Empezar un simulacro