Considerações de produção para transmissão estruturada

Este artigo contém recomendações para configurar cargas de trabalho de processamento incremental de produção com transmissão estruturada em Databricks para atender aos requisitos de latência e custo para aplicativos em tempo real ou lotes. Compreender key conceitos de transmissão estruturada no Databricks pode ajudá-lo a evitar armadilhas comuns à medida que aumenta o volume e a velocidade dos dados e passa do desenvolvimento para a produção.

A Databricks introduziu o Delta Live Tables para reduzir as complexidades do gerenciamento da infraestrutura de produção para cargas de trabalho estruturadas transmitidas. Databricks recomenda usar Delta Live Tables para novos pipelines estruturados de transmissão; veja O que é Delta Live Tables?.

Observação

compute O dimensionamento automático tem limitações ao reduzir o tamanho do cluster para cargas de trabalho de transmissão estruturada. Databricks recomenda o uso do site Delta Live Tables com autoscale aprimorado para cargas de trabalho de transmissão. Consulte Otimizar a utilização do pipeline cluster do Delta Live Tables com o Enhanced autoscale.

Usando Notebook para cargas de trabalho estruturadas transmitidas

O desenvolvimento interativo com Databricks Notebook requer que você anexe seu Notebook a um clusters para executar query manualmente. Você pode programar Databricks Notebook para implantação automatizada e recuperação automática de falha query usando fluxo de trabalho.

Você pode visualizar query estruturada transmitida no Notebook durante o desenvolvimento interativo, ou para monitoramento interativo de cargas de trabalho de produção. Você só deve visualizar uma query estruturada transmitida em produção se um humano for monitorar regularmente a saída do Notebook. Embora os parâmetros trigger e checkpointLocation sejam opcionais, como prática recomendada, o Databricks recomenda que você sempre os especifique na produção.

Controlando tamanho e frequência de lotes para transmissão estruturada em Databricks

a transmissão estruturada no Databricks tem opções aprimoradas para ajudar a controlar os custos e a latência durante a transmissão com o Auto Loader e o Delta Lake.

O que é transmissão com estado?

Uma query estruturada por transmissão com estado requer atualizações incrementais para informações de estado intermediário, enquanto uma consulta estruturada por transmissão sem estado query apenas informações sobre quais linhas foram processadas da fonte para o sorvedouro.

As operações com estado incluem agregação de transmissão, transmissão dropDuplicates, join de transmissão-transmissão , mapGroupsWithState e flatMapGroupsWithState.

A informação de estado intermediário necessária para query estruturada de transmissão de estado pode levar a problemas inesperados de latência e produção se não for configurada corretamente.

Em Databricks Runtime 13.3 LTS e acima, o senhor pode ativar o checkpointing de changelog com RocksDB para reduzir a duração do checkpoint e a latência de ponta a ponta para cargas de trabalho de transmissão estruturada. Databricks recomenda habilitar o checkpointing do changelog para todas as consultas stateful de transmissão estruturada. Consulte Ativar checkpointing do changelog.