Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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. Para requisitos de configuração, veja Configurar modo em tempo real.
Requisitos
Antes de começar, certifique-se de que tem permissões para criar um cluster de computação clássico que utilize a configuração especificada no modo Set Up em tempo real. Em alternativa, contacte o administrador do seu espaço de trabalho para criar um cluster em modo em tempo real para si.
Passo 1: Crie um bloco de notas
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:
- Clica em Novo na barra lateral, depois clica
Caderno.
- No menu suspenso de computação, selecione o seu cluster de modos em tempo real.
- Selecione Python ou Scala como linguagem predefinida.
Passo 2: 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. |
Passo 3: Validar os resultados
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:
- Um carimbo temporal de quando a linha foi gerada pela fonte da taxa.
- Um contador que aumenta 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.
Recursos adicionais
Agora que já executou a sua primeira consulta em tempo real, explore estes recursos para construir aplicações de streaming de produção com Kafka, Kineses e outras fontes suportadas: