Pular para o conteúdo principal

tutorial: execução a tempo real de carga de trabalho de transmissão

O modo tempo real permite transmissões com latência ultrabaixa, de ponta a ponta, de apenas cinco milissegundos, tornando-o ideal para cargas de trabalho operacionais como detecção de fraudes e personalização em tempo real. Este tutorial orienta você na configuração da sua primeira consulta de transmissão real de tempo usando um exemplo simples.

Para informações conceituais sobre o modo tempo real, quando utilizá-lo e recurso suportado, consulte modo tempo real em transmissão estruturada. Para requisitos de configuração, consulte Configurar o modo em tempo real.

Requisitos

Antes de começar, certifique-se de ter permissões para criar um cluster compute clássico que utilize a configuração especificada em Configurar o modo real do Tempo. Como alternativa, entre em contato com o administrador do seu workspace para que ele crie um cluster Tempo em modo real para você.

Passo 1: Criar um caderno

Os notebooks oferecem um ambiente interativo para desenvolver e testar consultas de transmissão. Você usa este Notebook para escrever sua consulta tempo real e ver os resultados serem atualizados continuamente.

Para criar um Notebook:

  1. Clique em Novo na barra lateral e, em seguida, clique em Ícone Notebook . Notebook .
  2. No menu suspenso compute , selecione o cluster de modo real tempo desejado.
  3. Selecione Python ou Scala como linguagem default .

o passo 2: execução de uma consulta em modo real de tempo

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

nota

A função display com gatilho realTime está disponível no Databricks Runtime 17.1 e versões superiores.

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

Após executar o código, você verá uma tabela que é atualizada em tempo real à medida que novas linhas são geradas. A tabela exibe uma coluna timestamp e uma coluna value que incrementa a cada linha.

Entendendo o código

O código acima demonstra os componentes essenciais de uma consulta de transmissão de tempo real. As tabelas a seguir explicam os key parâmetros e o que eles controlam:

Parâmetro

Descrição

format("rate")

Utiliza a fonte de taxa, uma fonte integrada que gera linhas a uma taxa configurável. Isso é ú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 a frequência com que os pontos de verificação da consulta progridem. Intervalos mais longos significam verificações menos frequentes, mas também tempos de recuperação potencialmente mais longos após falhas.

outputMode="update"

O modo em tempo real requer o modo de saída de atualização.

o passo 3: Validar resultados

Ao executar a consulta, a função display cria uma tabela que é atualizada em tempo real à medida que a fonte de dados gera novas linhas. Cada linha contém:

  • Um registro de data e hora que indica quando a linha foi gerada pela fonte de taxa.
  • Um contador que aumenta monotonicamente a cada nova linha.

A tabela é atualizada continuamente com latência mínima, demonstrando como o modo em tempo real processa os dados assim que eles ficam disponíveis. Essa é a principal vantagem do modo Tempo Real: a capacidade de visualizar e agir sobre os dados imediatamente, em vez de esperar pelo processamento de lotes.

Recursos adicionais

Agora que você executou sua primeira consulta real, explore estes recursos para criar aplicativos de transmissão de produção com Kafka, Kinesis e outras fontes compatíveis: