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 modo em tempo real permite streaming de latência ultra-baixa com latência de ponta a ponta de até cinco milissegundos, tornando-o ideal para cargas de trabalho operacionais, como detecção de fraude e personalização em tempo real. Este tutorial orienta você a configurar sua primeira consulta de streaming em tempo real usando um exemplo simples.
Para obter informações conceituais sobre o modo em tempo real, quando usá-lo e recursos com suporte, consulte o modo em tempo real no Streaming Estruturado. Para obter os requisitos de configuração, consulte Configurar o modo em tempo real.
Requisitos
Antes de começar, verifique se você tem permissões para criar um cluster de computação clássico que usa a configuração especificada no modo Configurar em tempo real. Como alternativa, entre em contato com o administrador do seu espaço de trabalho para criar um cluster em modo de tempo real para você.
Etapa 1: Criar um notebook
Os notebooks fornecem um ambiente interativo para desenvolver e testar consultas de streaming. Use este bloco de anotações para escrever sua consulta em tempo real e ver os resultados serem atualizados continuamente.
Para criar um bloco de anotações:
- Clique em Novo na barra lateral e, em seguida, clique no
Bloco de anotações.
- No menu suspenso de computação, selecione o cluster do modo em tempo real.
- Selecione Python ou Scala como o idioma padrão.
Etapa 2: Executar uma consulta de modo em tempo real
Copie e cole o código a seguir em uma célula de notebook e execute-o. Este exemplo usa uma fonte de taxa, que gera linhas a uma taxa especificada e exibe os resultados em tempo real.
Observação
A display função com realTime gatilho está disponível no Databricks Runtime 17.1 e versões posteriores.
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, você verá uma tabela que é atualizada em tempo real à medida que novas linhas são geradas. A tabela exibe uma timestamp coluna e uma value coluna que incrementa com cada linha.
Compreender o código
O código acima demonstra os componentes essenciais de uma consulta de streaming em tempo real. As tabelas a seguir explicam os parâmetros de chave e o que eles controlam:
Python
| Parâmetro | Descrição |
|---|---|
format("rate") |
Usa a fonte de taxa, uma fonte interna 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" |
Habilita o modo em tempo real. O intervalo especifica a frequência com que os pontos de verificação de consulta progridem. Intervalos mais longos significam pontos de verificação menos frequentes, mas 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. |
Scala
| Parâmetro | Descrição |
|---|---|
format("rate") |
Usa a fonte de taxa, uma fonte interna 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. |
Trigger.RealTime() |
Habilita o modo em tempo real com o intervalo de ponto de verificação padrão. Você 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 de atualização. |
Etapa 3: Validar resultados
Quando você executa a consulta, a display função cria uma tabela que é atualizada em tempo real à medida que a fonte de taxa gera novas linhas. Cada linha contém:
- Um carimbo de data/hora para quando a linha foi gerada pela origem da taxa.
- Um contador monotonicamente crescente que incrementa a cada nova linha.
A tabela é atualizada continuamente com latência mínima, demonstrando como o modo em tempo real processa dados assim que eles ficam disponíveis. Esse é o principal benefício do modo em tempo real - a capacidade de ver e agir sobre os dados imediatamente em vez de aguardar o processamento em lote.
Recursos adicionais
Agora que você executou sua primeira consulta em tempo real, explore esses recursos para criar aplicativos de streaming de produção com Kafka, Kinesis e outras fontes com suporte: