Partilhar via


Configurar o tamanho do lote do Streaming Estruturado no Azure Databricks

Limitar a taxa de entrada para consultas de Streaming Estruturado ajuda a manter um tamanho de lote consistente e evita que lotes grandes levem a atrasos de 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.

Limite a taxa de entrada com maxFilesPerTrigger

A configuração maxFilesPerTrigger (ou cloudFiles.maxFilesPerTrigger para Auto Loader) 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á um máximo por padrão.)

Limite a taxa de entrada com maxBytesPerTrigger

A configuração maxBytesPerTrigger (ou cloudFiles.maxBytesPerTrigger para Auto Loader) define um "soft max" 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 bytes, 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 maxFilesPerTriggero , o microlote processa dados até atingir o limite inferior de um 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 Configurar fontes de dados de streaming.