Configurar o tamanho dos lotes estruturados transmitidos no Databricks

Limitar a taxa de entrada para query estruturada transmitida ajuda a manter um tamanho de lote consistente e evita que lotes grandes levem a atrasos de processamento de microlotes em cascata e em cascata.

Databricks fornece as mesmas opções para controlar tamanhos de lotes estruturados transmitidos 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 default é 1000. (Observe que esta opção também está presente no Apache Spark para outras fontes de arquivo, onde não há max por default.)

Limite a taxa de entrada com maxBytesPerTrigger

Definir maxBytesPerTrigger (ou cloudFiles.maxBytesPerTrigger para Auto Loader) define um “soft max” para a quantidade de dados processados em cada microlote. Isso significa que a lotes processa aproximadamente essa quantidade de dados e pode processar mais do que o limite para fazer a query de transmissão avançar nos casos em que a menor unidade de entrada for maior que esse limite. Não há default para esta configuração.

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

Configurando várias taxas de entrada juntas

Se você usar maxBytesPerTrigger em conjunto com maxFilesPerTrigger, os micro-lotes processarão os dados até atingir o limite inferior de maxFilesPerTrigger ou maxBytesPerTrigger.

Limitando as taxas de entrada para outras fontes estruturadas transmitidas

fontes de transmissão, como Apache Kafka, possuem limites de entrada personalizados, como maxOffsetsPerTrigger. Para obter mais detalhes, consulte Configurar transmissão de fonte de dados.