Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Apache Spark Structured Streaming permite que você construa aplicativos e pipelines de streaming com as mesmas APIs do Spark que você usa para processamento em lote. No Azure Databricks, ele suporta dois modos de processamento:
- Modo em tempo real (RTM): projetado para cargas de trabalho operacionais com menos de um segundo, como detecção de fraudes e personalização em tempo real. O RTM processa os registros à medida que chegam, com latência de ponta a ponta tão baixa quanto cinco milissegundos. Veja conceitos de modo em tempo real.
- Modo micro-batch: Projetado para pipelines analíticos e cargas de trabalho de extração, transformação e carga (ETL). O modo micro-batch processa fluxos em pequenos lotes, equilibrando o custo de computação com os requisitos de latência medidos em segundos ou minutos. O microprocessamento em lote é o modo padrão.
Ambos os modos usam as mesmas APIs de Streaming Estruturado. Para consultas com suporte por ambos os modos, você pode alternar os modos por meio da configuração de gatilho e de computação. Consulte Configurar o modo em tempo real.
O Structured Streaming também alimenta o streaming em pipelines Lakeflow, construídos sobre Apache Spark™ Declarative Pipelines. Pipelines gerenciam orquestração, checkpoints e recuperação, e você define transformações em SQL ou Python.
Para obter um tutorial passo a passo, consulte Executar sua primeira carga de trabalho de Streaming Estruturado.
Ler de um fluxo de dados
Use o Streaming Estruturado para ingerir dados de fontes de dados com suporte incremental.
| Característica | Descrição |
|---|---|
| Carregador Automático | Processe de forma incremental e eficiente novos arquivos de dados à medida que chegam ao armazenamento em nuvem. |
| Leituras e gravações de streaming de tabelas do Delta Lake | Use tabelas do Delta Lake como fontes e coletores de streaming com garantias de processamento exatamente uma única vez. |
| APIs SQL e Spark | Conecte-se a barramentos de mensagens, filas e aplicações empresariais usando APIs SQL e Spark. |
| Tamanho do microlote | Limite as taxas de entrada para manter tamanhos de lote consistentes e evitar atrasos no processamento. |
Gravar em um destino de dados
Configure como o Streaming Estruturado fornece dados para sistemas de destino.
| Característica | Descrição |
|---|---|
| Pontos de Verificação | Armazene o estado de processamento para habilitar a tolerância a falhas e a semântica de entrega exatamente uma vez. |
| Modo de saída | Escolha entre os modos acrescentar, atualizar e concluir para consultas de streaming com estado. |
| Intervalos de gatilho | Defina intervalos de gatilho para equilibrar a latência e o custo dos requisitos de processamento. |
| Modo em tempo real no Streaming Estruturado | Processe dados para cargas de trabalho em tempo real com latência de ponta a ponta tão baixa quanto cinco milissegundos. |
Processamento com estado e sem estado
As consultas sem estado processam linhas sem manter o estado. As consultas com estado mantêm o estado intermediário para agregações, junções e eliminação de duplicação.
| Característica | Descrição |
|---|---|
| Consultas de streaming sem estado | Otimize as consultas que processam dados sem manter o estado intermediário. |
| Marcas d'água | Controle por quanto tempo o Streaming Estruturado aguarda os dados de chegada tardia em operações com estado. |
| Streaming com estado | Gerenciar agregações, junções fluxo-fluxo e deduplicação usando operadores com estado. |
Monitorar e gerenciar
Acompanhe o desempenho da consulta, aplique otimizações e governe o acesso a dados para cargas de trabalho de Streaming Estruturado de produção.
| Característica | Descrição |
|---|---|
| Monitorar com StreamingQueryListener | Acompanhe o progresso da consulta e as métricas de desempenho usando a interface do usuário do Spark e a API do ouvinte. |
| Governe com o Catálogo do Unity | Configure o Catálogo do Unity para cargas de trabalho de streaming com controle de governança e acesso. |