Configurar o tamanho de lote do Streaming Estruturado no Azure Databricks

Limitar a taxa de entrada de consultas do Streaming Estruturado ajuda a manter um tamanho de lote consistente e impede que lotes grandes gerem despejos e atrasos de processamento de microlotes em cascata.

O Azure Databricks fornece as mesmas opções de controle dos tamanhos de lote do Streaming Estruturado para o Delta Lake e para o Carregador Automático.

Limitar a taxa de entrada com maxFilesPerTrigger

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

Limitar a taxa de entrada com maxBytesPerTrigger

A configuração de maxBytesPerTrigger (ou de cloudFiles.maxBytesPerTrigger para o Carregador Automático) define um "máximo flexível" 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 com que a consulta de streaming avance em casos em que a menor unidade de entrada é maior que esse limite. Não há valor 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.

Definir várias taxas de entrada juntas

Se você usar maxBytesPerTrigger com maxFilesPerTrigger, o microlote processará os dados até que o limite inferior de maxFilesPerTrigger ou maxBytesPerTrigger seja atingido.

Limitação das taxas de entrada de outras fontes do Streaming Estruturado

Fontes de streaming como o Apache Kafka têm limites de entrada personalizados, como maxOffsetsPerTrigger. Para obter mais detalhes, confira Configurar fontes de dados de streaming.