Partilhar via


Configurar o tamanho do lote do Streaming Estruturado no Azure Databricks

Este artigo explica como usar controles de admissão para manter um tamanho de lote consistente para consultas de streaming.

Os controles de admissão limitam a taxa de entrada para consultas de Streaming Estruturado, o que pode ajudar a manter um tamanho de lote consistente e evitar que lotes grandes causem atrasos no processamento de microlotes em cascata.

O Azure Databricks fornece as mesmas opções para controlar os tamanhos de lote do Streaming Estruturado para Delta Lake e Auto Loader.

Observação

Você pode modificar as configurações de controle de admissão sem redefinir o ponto de verificação para uma consulta de streaming. Consulte Recuperar após alterações numa consulta de Streaming Estruturado.

Alterar as configurações de controle de admissão para aumentar ou diminuir o tamanho do lote tem implicações no desempenho. Para otimizar sua carga de trabalho, talvez seja necessário ajustar suas configurações de computação.

Limite a taxa de entrada com o maxFilesPerTrigger

A configuração maxFilesPerTrigger (ou cloudFiles.maxFilesPerTrigger para o Carregador Automático) especifica um limite superior para o número de arquivos processados em cada microlote. Para Delta Lake e Auto Loader, o padrão é 1000. (Observe que essa opção também está presente no Apache Spark para outras fontes de arquivos, onde não há máximo por padrão.)

Limite a taxa de entrada com maxBytesPerTrigger

Ao definir maxBytesPerTrigger (ou cloudFiles.maxBytesPerTrigger no caso do Auto Loader), estabelece-se um “limite suave” para a quantidade de dados processados em cada microlote. Isso significa que um lote processa aproximadamente essa quantidade de dados e pode processar mais do que o limite para fazer a consulta de streaming avançar nos casos em que a menor unidade de entrada é maior do que esse limite. Não há nenhum padrão para essa configuração.

Por exemplo, se você especificar uma cadeia de caracteres de byte, como 10g, para limitar cada microlote a 10 GB de dados e tiver arquivos de 3 GB cada, o Azure Databricks processará 12 GB em um microlote.

Definindo várias taxas de entrada juntas

Se você usar maxBytesPerTrigger em conjunto com maxFilesPerTrigger, o microlote processa dados até atingir o limite inferior de maxFilesPerTrigger ou maxBytesPerTrigger.

Limitando as taxas de entrada para outras fontes de Streaming Estruturado

Fontes de streaming, como o Apache Kafka, têm limites de entrada personalizados, como maxOffsetsPerTrigger. Para obter mais detalhes, consulte Conectores padrão no Lakeflow Connect.