Brains4Cloud
ESEN
Practicar

Tema 4 de 6

D4 · Cargas de trabajo de análisis

Análisis en tiempo real

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.

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.

  • Ejemplo de lotes: las tarjetas de crédito envían una factura mensual con todas las compras, no una por compra.
  • Ejemplos de streaming: seguir la bolsa y reequilibrar carteras; analizar la interacción de jugadores en un juego; recomendar inmuebles según la ubicación del móvil; disparar alarmas ante humo o calor.
LotesVentajaInconveniente
CapacidadProcesa grandes volúmenes en un momento convenienteTodos los datos deben estar listos antes de empezar
Uso del sistemaSe programa en horas de poca carga, como la nocheHay retraso entre la entrada y el resultado
Errores—Un error, incluso pequeño, puede detener todo el lote

Diferencias entre lotes y streaming

LotesStreaming
AlcanceTodos los datos del conjuntoLos datos más recientes o una ventana móvil (los últimos 30 s)
TamañoGrandes conjuntos de datosRegistros individuales o microlotes
LatenciaNormalmente unas horasSegundos o milisegundos
AnálisisAnálisis complejosRespuestas simples, agregados, medias móviles

Combinar ambos: arquitectura lambda

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.

1

Los eventos de un origen en streaming se capturan en tiempo real.

2

Los datos de otros orígenes se ingieren en un almacén (a menudo un data lake) para procesarlos por lotes.

3

Si no hace falta análisis en tiempo real, los datos capturados se escriben en el almacén para procesarlos después.

4

Si hace falta, una tecnología de streaming los prepara, filtrando o agregando por ventanas temporales.

5

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.

6

Los resultados del streaming también pueden persistirse en ese almacén.

7

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.

Elementos de una solución de streaming

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

Real-Time Intelligence de Fabric

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.

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

Spark Structured Streaming

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:

1

Se conecta a un origen en streaming, como Azure Event Hubs, una carpeta de archivos o una fuente de red.

2

Spark lee los datos en un dataframe: una tabla que se va llenando según llegan eventos.

3

Se escribe una consulta sobre el dataframe, por ejemplo eventos por minuto o una media móvil.

4

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.

  • Usa un lenguaje de consulta basado en SQL ampliado con restricciones temporales; también tiene un editor sin código.
  • Entradas: Event Hubs e IoT Hub para streaming, Blob Storage o Data Lake Storage Gen2 para datos históricos, y datos de referencia para unir con el flujo.
  • Salidas: Blob Storage, Azure SQL Database, Data Lake, Cosmos DB, Event Hubs o Power BI para visualización en tiempo real.
  • Garantiza procesamiento exactamente una vez (con salidas seleccionadas) y entrega al menos una vez; también puede ejecutarse en IoT Edge.
  • Se paga por las unidades de streaming consumidas.
VentanaCómo funciona
Tumbling (saltos sin solapamiento)Segmentos de tiempo fijos que no se repiten ni se solapan; cada evento está en una sola ventana
HoppingAvanzan un periodo fijo y pueden solaparse; un evento puede estar en varias
SlidingEmiten resultados solo cuando entra o sale un evento de la ventana
SessionAgrupan eventos que llegan en momentos similares y filtran los periodos sin datos
SnapshotAgrupan eventos con la misma marca de tiempo

Orígenes y destinos

Orígenes

  • : ingesta de grandes volúmenes de eventos; orden dentro de cada partición, entrega al menos una vez y compatibilidad con Apache Kafka.
  • Azure IoT Hub: como Event Hubs, pero optimizado para dispositivos IoT.
  • Data Lake Storage Gen2: habitual en lotes, también puede ser origen de streaming.
  • Apache Kafka: ingesta de código abierto, a menudo con Spark.

Destinos

  • Event Hubs: poner en cola los datos procesados para otro proceso.
  • Data Lake Storage Gen2, OneLake o Blob Storage: guardar resultados como archivos.
  • Azure SQL Database, Databricks o Fabric: guardar resultados en tablas.
  • Power BI: visualizaciones en tiempo real.

Escenarios de examen

SituaciónRespuestaPor qué
Generar la factura mensual de una tarjeta con todas las compras del mesProcesamiento por lotesSe agrupan y procesan juntas.
Activar alarmas y abrir puertas en cuanto se detecta humoProcesamiento en streamingRespuesta inmediata en tiempo real.
Contar los coches que pasan por minutoStreaming con ventanas temporalesAgregados sobre intervalos de tiempo.
Ingerir millones de eventos por segundo con compatibilidad KafkaAzure Event HubsPlataforma de streaming gestionada.
Ingerir telemetría de dispositivos IoTAzure IoT HubOptimizado para dispositivos IoT.
Paneles en directo y alertas automáticas al cumplirse una condición, dentro de FabricReal-Time Intelligence (Real-Time Dashboards y Activator)Herramientas integradas en Fabric.
Ampliar a streaming el trabajo que ya se hace con SparkSpark Structured StreamingMisma tecnología para lotes y streaming.
Trabajo de streaming PaaS independiente, fuera de Fabric, con consulta SQLAzure Stream AnalyticsEntrada, consulta perpetua y salida.

Trampas frecuentes del examen

❓ ¿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?

¿Listo para poner a prueba "Análisis en tiempo real"?

Preguntas originales, cada una con su explicación.

Empezar un simulacro