DP-900: Fabric Real-Time Intelligence e Spark Structured Streaming

Os quatro elementos do processamento de fluxos, a arquitetura lambda, o Fabric Real-Time Intelligence (Real-Time hub, Eventstream, Eventhouse com KQL, Activator), o Spark Structured Streaming com Delta Lake e como escolher um serviço em tempo real no DP-900.

O Domínio 4 do conteúdo oficial do DP-900 inclui o item "Identificar serviços de nuvem da Microsoft para análise em tempo real". O módulo do Microsoft Learn que prepara você para ele agora se concentra no Microsoft Fabric Real-Time Intelligence e no Apache Spark Structured Streaming. Se você chegar à prova conhecendo só Event Hubs e Stream Analytics, perguntas que citam Eventstream, Eventhouse ou KQL podem facilmente derrubar você.

Este post dá sequência ao post Análise de dados em tempo real da nossa série de estudos do DP-900. Aquele post tratou de lote versus streaming, Event Hubs, IoT Hub, Stream Analytics e funções de janela. Aqui começamos pelos elementos comuns de uma arquitetura de processamento de fluxos e seguimos para os componentes do Fabric Real-Time Intelligence, o Spark Structured Streaming com Delta Lake e como escolher um serviço em cada situação.

---

 

Elementos comuns de uma arquitetura de processamento de fluxos

Imagine a esteira de bagagens de um aeroporto. As malas sobem a partir do balcão de check-in, um scanner as inspeciona sem parar enquanto elas andam pela esteira e elas saem separadas por destino. Processar cada item assim que ele chega, em vez de esperar que todos se acumulem, é o que significa processar fluxos.

Qualquer que seja a tecnologia, a maioria das soluções de streaming segue os mesmos quatro passos.

Um evento gera dados. Um sinal de sensor, uma postagem em rede social ou uma nova linha em um arquivo de log é algo que acontece e produz dados digitais. Os dados são capturados em uma fonte de streaming. Em casos simples, pode ser uma pasta em um armazenamento em nuvem ou uma tabela de banco de dados; em soluções mais avançadas, é uma fila que mantém a ordem dos eventos e garante que cada um seja processado uma única vez. Os dados são processados. Uma consulta que roda continuamente (consulta perpétua) seleciona certos eventos, projeta valores ou os agrega em janelas de tempo, por exemplo de um minuto. Os resultados são gravados em uma saída, ou coletor (sink). Pode ser um arquivo, uma tabela de banco de dados, um painel em tempo real ou outra fila para processamento posterior.

| Função | Serviços do Azure mais usados | |------|------| | Fonte (ingestão) | Azure Event Hubs, Azure IoT Hub, Azure Data Lake Storage Gen2, Apache Kafka | | Processamento | Fabric Real-Time Intelligence, Spark Structured Streaming, Azure Stream Analytics | | Coletor (arquivos) | Azure Data Lake Storage Gen2, Microsoft OneLake, Azure Blob Storage | | Coletor (tabelas) | Azure SQL Database, Azure Databricks, Microsoft Fabric | | Coletor (visualização ou processamento posterior) | Microsoft Power BI, Azure Event Hubs |

O Event Hubs é um serviço de ingestão para grandes volumes de eventos. Eventos dentro de uma mesma partição são entregues em ordem, e a entrega é de pelo menos uma vez (at-least-once). O IoT Hub é um serviço de ingestão parecido, otimizado para gerenciar dispositivos IoT.

Dica de prova: "Uma consulta que roda continuamente e agrega os eventos que chegam em janelas de tempo" → a consulta perpétua do processamento de fluxos. "O lugar que recebe os resultados (um arquivo, uma tabela ou um painel)" → o coletor (sink).

---

 

Arquiteturas que combinam lote e streaming

Soluções de análise reais muitas vezes não escolhem uma única abordagem. No trânsito de uma estrada, por exemplo, o número de carros passando agora vai para um painel em tempo real, enquanto os mesmos dados são guardados para analisar em lote a tendência do trânsito no último ano.

O padrão clássico para combinar os dois é a arquitetura lambda. Os dados de streaming são processados imediatamente em uma camada em tempo real e enviados aos painéis, enquanto dados de outras fontes chegam a um data lake, são processados periodicamente em uma camada de lote e são armazenados em um data warehouse. Os resultados em tempo real também são salvos nesse warehouse para análise histórica.

| Padrão | Estrutura | Características | |------|------|------| | Arquitetura lambda | Camadas separadas em tempo real e em lote | Entrega resultados em tempo real e análise histórica precisa; duas camadas a tornam mais difícil de gerenciar | | Arquitetura kappa | Sem camada de lote; todos os dados processados como fluxo | Estrutura mais simples; o reprocessamento histórico reproduz o fluxo novamente |

O Microsoft Learn também cita a arquitetura delta, mas o DP-900 não cobra seus detalhes. Mesmo quando não há necessidade de análise ou visualização em tempo real, é comum capturar os dados com tecnologia de streaming, armazená-los e processá-los depois em lote.

Dica de prova: "Um design com um caminho em tempo real e outro em lote para suportar painéis ao vivo e análise histórica" → arquitetura lambda.

---

 

Microsoft Fabric Real-Time Intelligence

O Fabric Real-Time Intelligence é um conjunto de ferramentas integrado ao Microsoft Fabric para ingerir, processar e analisar dados de streaming. Conectar fontes de eventos, armazenar e consultar dados, criar painéis ao vivo e disparar ações automáticas quando condições são atendidas acontecem todos dentro do mesmo workspace do Fabric. Pense nele como uma única experiência SaaS para um trabalho que antes exigia juntar vários serviços do Azure.

Apesar do nome, seus dados não precisam chegar rápido nem em grandes volumes. O ponto principal é que você cria soluções que reagem aos eventos quando eles acontecem, em vez de trabalhos que rodam em um agendamento.

Real-Time hub: um catálogo de dados de streaming

O Real-Time hub é um catálogo que reúne em um só lugar os dados de streaming de uma organização. Você pode descobrir fluxos de dados em execução, fontes da Microsoft que podem ser conectadas e eventos do Fabric, e compartilhá-los com outras equipes.

Eventstream: ingerir, transformar e rotear

Um eventstream traz eventos em tempo real para o Fabric sem código, opcionalmente os transforma com operações como filtrar ou agregar e os envia para um ou mais destinos. Entre as fontes estão Azure Event Hubs, Azure IoT Hub, captura de dados de alterações (CDC) do Azure SQL Database ou do Azure Cosmos DB, Apache Kafka, Amazon Kinesis e Google Pub/Sub. Entre os destinos estão um Eventhouse, um Lakehouse (salvo no formato Delta Lake), o Activator e um endpoint personalizado para aplicativos externos.

Eventhouse e KQL: um banco de dados para eventos

Um Eventhouse é um banco de dados projetado para armazenar e analisar dados de eventos baseados em tempo, capaz de consultar bilhões de eventos em segundos. Um Eventhouse pode conter vários bancos de dados KQL e lida com dados semiestruturados como JSON e texto livre, além de dados estruturados. Ele combina com telemetria, logs, séries temporais e dados de IoT.

A linguagem de consulta é a KQL (Kusto Query Language), criada para analisar logs e telemetria com rapidez, e o Copilot pode transformar perguntas em linguagem natural em KQL. O serviço PaaS independente do Azure para o mesmo tipo de trabalho é o Azure Data Explorer, que também usa KQL.

Painéis em tempo real e Activator

Os painéis em tempo real (Real-Time Dashboards) visualizam os dados que chegam ao vivo. O Activator permite definir condições sem código; quando os dados atendem a uma condição, ele envia um e-mail ou uma notificação do Teams, ou executa uma ação como um fluxo do Power Automate ou um pipeline ou notebook do Fabric. Ele transforma informação em ação, como em "avisar o técnico de plantão quando a temperatura de um sensor passar do limite".

!Fluxo de dados no Fabric Real-Time Intelligence

| Componente | Função | Palavras-chave para a prova | |------|------|------| | Real-Time hub | Catálogo dos dados de streaming da organização | Descobrir e compartilhar fluxos | | Eventstream | Ingestão, transformação e roteamento sem código | Trazer eventos para o Fabric | | Eventhouse | Banco de dados para eventos baseados em tempo | Banco de dados KQL, logs e telemetria | | KQL | Linguagem de consulta do Eventhouse | Kusto Query Language | | Painel em tempo real | Visualização ao vivo | O estado das coisas agora | | Activator | Ações automáticas quando condições são detectadas | Alertas, Power Automate, sem código |

Dica de prova: "Ingerir eventos de streaming no Fabric sem código, transformá-los e enviá-los a vários destinos" → Eventstream. "Um armazenamento do Fabric que consulta logs e telemetria com rapidez usando KQL" → Eventhouse. "Enviar um alerta ou executar uma ação automaticamente quando os dados atendem a uma condição" → Activator.

---

 

Spark Structured Streaming e Delta Lake

O Apache Spark é um mecanismo que divide o processamento de grandes volumes de dados entre muitas máquinas (um cluster) para que o trabalho rode em paralelo. No Azure, você pode usá-lo no Microsoft Fabric e no Azure Databricks, escrever código em Python, Scala, Java, R ou SQL e executar tanto processamento em lote quanto de fluxos.

Como o Structured Streaming funciona

O Spark Structured Streaming é a biblioteca de processamento de fluxos integrada ao Spark. O jeito mais fácil de entendê-la é tratar um fluxo ao vivo como uma tabela de planilha, só que novas linhas não param de aparecer conforme os eventos chegam.

Você se conecta a uma fonte de streaming, como uma fila de mensagens do tipo Azure Event Hubs, uma pasta de arquivos ou um feed de rede. Você lê os dados que chegam em um dataframe, uma tabela de linhas e colunas que continua sendo preenchida conforme os eventos chegam. Você escreve uma consulta sobre o dataframe, por exemplo para contar eventos por minuto ou calcular uma média móvel. Você grava os resultados da consulta em um coletor, como um arquivo, um banco de dados ou um painel.

É uma boa escolha quando você já processa dados com Spark e quer estender esse trabalho para fluxos em tempo real.

Unificando lote e streaming com Delta Lake

Por padrão, um data lake é só uma coleção de arquivos, sem nada que garanta que os dados estejam completos ou consistentes. O Delta Lake é

Voltar à lista do blog