Configurar o tamanho dos lotes de transmissão estruturada em Databricks
Este artigo explica como usar controles de admissão para manter um tamanho de lote consistente para consultas de transmissão.
Os controles de admissão limitam a taxa de entrada para consultas de transmissão estruturada, o que pode ajudar a manter um tamanho de lote consistente e evitar que lotes grandes causem derramamento e atrasos no processamento de microlotes em cascata.
Databricks oferece as mesmas opções para controlar os tamanhos dos lotes de transmissão estruturada para Delta Lake e Auto Loader.
O senhor pode modificar as configurações de controle de admissão sem redefinir o ponto de verificação para uma consulta de transmissão. Consulte Recuperação após alterações em uma consulta de transmissão estruturada.
A alteração das configurações de controle de admissão para aumentar ou diminuir o tamanho dos lotes tem implicações no desempenho. Para otimizar sua carga de trabalho, talvez seja necessário ajustar as configurações do site compute.
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. Tanto para Delta Lake quanto para Auto Loader, default é 1000. (Observe que essa opção também está presente em Apache Spark para outras fontes de arquivos, onde não há um máximo em default).
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 com que a consulta de transmissão avance nos casos em que a menor unidade de entrada for maior do que esse limite. Não há default para essa configuração.
Por exemplo, se o senhor especificar uma cadeia de bytes, como 10g
, para limitar cada microlote a 10 GB de dados e tiver arquivos de 3 GB cada, o site Databricks processa 12 GB em um microlote.
Configurando várias taxas de entrada em conjunto
Se o senhor usar maxBytesPerTrigger
em conjunto com maxFilesPerTrigger
, o micro-lote processará os dados até atingir o limite inferior de maxFilesPerTrigger
ou maxBytesPerTrigger
.
Limitação de taxas de entrada para outras fontes de transmissão estruturada
As fontes de transmissão, como Apache Kafka , têm limites de entrada personalizados, como maxOffsetsPerTrigger
. Para obter mais detalhes, consulte Configurar transmissão fonte de dados.