Partilhar via


Comece com o modo em tempo real

Importante

Este recurso está no Public Preview.

O modo em tempo real permite streaming com latência ultra-baixa com latência de ponta a ponta tão baixa quanto cinco milissegundos, tornando-o ideal para cargas de trabalho operacionais como deteção de fraudes e personalização em tempo real. Este tutorial guia-o na configuração da sua primeira consulta de streaming em tempo real usando um exemplo simples.

Para informações conceptuais sobre o modo em tempo real, quando o utilizar e funcionalidades suportadas, consulte Modo em tempo real em Streaming Estruturado.

Requisitos

Observação

Se não tiver privilégios clássicos de criação de computação, contacte o administrador do seu espaço de trabalho para criar um cluster em modo em tempo real usando a configuração do Passo 1.

Passo 1: Criar computação clássica para o modo em tempo real

O modo em tempo real requer uma configuração clássica específica de computação para alcançar uma latência ultra-baixa. Estas definições garantem que as tarefas correm simultaneamente em todas as fases e que os dados são processados continuamente à medida que chegam, em vez de em lotes.

Para criar uma computação clássica devidamente configurada:

  1. No seu espaço de trabalho Azure Databricks, clique em Calcular na barra lateral.

  2. Clique em Criar computação.

  3. Introduza um nome.

  4. Selecione Databricks Runtime 17.1 ou superior.

  5. Limpar aceleração Photon (o modo em tempo real não suporta Photon).

  6. Limpar Ativar o autoscaling (o modo em tempo real requer um tamanho fixo do cluster).

  7. Em desempenho avançado, desmarque Usar instâncias de spot (instâncias de spot podem causar interrupções).

  8. Clique em Opções Avançadas para expandir definições adicionais.

  9. Em modo Acesso, selecione Dedicado (anteriormente: Utilizador único).

  10. Na configuração do Spark, adicione a seguinte configuração:

    spark.databricks.streaming.realTimeMode.enabled true
    
  11. Clica em Criar Compute.

Passo 2: Crie um caderno

Os cadernos proporcionam um ambiente interativo para desenvolver e testar consultas em streaming. Usa este caderno para escrever a sua consulta em tempo real e vê os resultados atualizarem-se continuamente.

Para criar um caderno:

  1. Clique em Novo na barra lateral, depois clique em Bloco de notas.
  2. No menu suspenso de recursos de computação, selecione o recurso de computação que criou na Etapa 1.
  3. Selecione Python ou Scala como linguagem padrão.

Passo 3: Executar uma consulta em modo em tempo real

Copie e cole o código seguinte numa célula de caderno e execute-o. Este exemplo utiliza uma fonte de taxa, que gera linhas a uma taxa especificada e apresenta os resultados em tempo real.

Observação

A display função com o realTime trigger está disponível a partir do Databricks Runtime 17.1.

Python

inputDF = (
  spark
  .readStream
  .format("rate")
  .option("numPartitions", 2)
  .option("rowsPerSecond", 1)
  .load()
)
display(inputDF, realTime="5 minutes", outputMode="update")

Scala

import org.apache.spark.sql.streaming.Trigger
import org.apache.spark.sql.streaming.OutputMode

val inputDF = spark
  .readStream
  .format("rate")
  .option("numPartitions", 2)
  .option("rowsPerSecond", 1)
  .load()
display(inputDF, trigger=Trigger.RealTime(), outputMode=OutputMode.Update())

Depois de executar o código, vês uma tabela que se atualiza em tempo real à medida que novas linhas são geradas. A tabela exibe uma timestamp coluna e uma value coluna que incrementa a cada linha.

Compreender o código

O código acima demonstra os componentes essenciais de uma consulta de streaming em tempo real. As tabelas seguintes explicam os parâmetros-chave e o que eles controlam:

Python

Parâmetro Descrição
format("rate") Utiliza a fonte de taxa, uma fonte incorporada que gera linhas a uma taxa configurável. Isto é útil para testes sem dependências externas.
numPartitions Define o número de partições para os dados gerados.
rowsPerSecond Controla quantas linhas são geradas por segundo.
realTime="5 minutes" Ativa o modo em tempo real. O intervalo especifica com que frequência os pontos de verificação da consulta progridem. Intervalos mais longos significam pontos de controlo menos frequentes, mas potencialmente tempos de recuperação mais longos após falhas.
outputMode="update" O modo em tempo real requer o modo de saída atualizado.

Scala

Parâmetro Descrição
format("rate") Utiliza a fonte de taxa, uma fonte incorporada que gera linhas a uma taxa configurável. Isto é útil para testes sem dependências externas.
numPartitions Define o número de partições para os dados gerados.
rowsPerSecond Controla quantas linhas são geradas por segundo.
Trigger.RealTime() Ativa o modo em tempo real com o intervalo de checkpoint padrão. Também pode especificar um intervalo, por exemplo Trigger.RealTime("5 minutes").
OutputMode.Update() O modo em tempo real requer o modo de saída atualizado.

O que estás a ver

Quando executas a consulta, a display função cria uma tabela que se atualiza em tempo real à medida que a fonte de taxa gera novas linhas. Cada linha contém:

  • Carimbo temporal: O momento em que a linha foi gerada pela fonte de taxa
  • valor: Um contador que cresce monotonamente e que aumenta a cada nova linha

A tabela atualiza-se continuamente com latência mínima, demonstrando como o modo em tempo real processa os dados assim que ficam disponíveis. Este é o principal benefício do modo em tempo real – a capacidade de ver e agir sobre dados imediatamente, em vez de esperar pelo processamento em lote.

O que aprendeu

Configurou e executou com sucesso a sua primeira consulta de transmissão em tempo real. Agora você sabe como:

  • Configurar o Classic Compute com as definições necessárias para o modo em tempo real (cluster dedicado, Photon desativado, autoscaling desativado, configuração do Spark)
  • Ativar o processamento em tempo real usando o realTime gatilho
  • Utilizar a display função para desenvolvimento e testes interativos
  • Verifique se a sua consulta está a correr em modo em tempo real observando atualizações contínuas

Está pronto para desenvolver pipelines produtivas em tempo real com Kafka, Kinesis e outras fontes suportadas. Para saber mais sobre Streaming Estruturado, consulte os conceitos de Streaming Estruturado.

Passos seguintes

Agora que já executou a sua primeira consulta em tempo real, explore estes recursos para construir aplicações de streaming em produção: