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.