Otimize a utilização do cluster do pipeline declarativo LakeFlow com dimensionamento automático
Este artigo discute como usar o dimensionamento automático aprimorado para otimizar seu pipeline declarativo LakeFlow no Databricks.
O dimensionamento automático aprimorado é habilitado por default para todos os novos pipelines. O pipeline sem servidor também usa autoescala vertical. Veja O que é autoescala vertical?.
O que é dimensionamento automático aprimorado?
O dimensionamento automático aprimorado Databricks otimiza a utilização cluster alocando automaticamente o recurso cluster com base no volume da carga de trabalho, com impacto mínimo na latência de processamento de dados do seu pipeline.
O dimensionamento automático aprimorado melhora a funcionalidade de dimensionamento automáticocluster Databricks com o seguinte recurso:
- O dimensionamento automático aprimorado implementa a otimização de cargas de trabalho de transmissão e adiciona melhorias para melhorar o desempenho de cargas de trabalho em lotes. O dimensionamento automático aprimorado otimiza custos adicionando ou removendo máquinas conforme a carga de trabalho muda.
- O dimensionamento automático aprimorado desliga proativamente nós subutilizados, garantindo que não haja nenhuma tarefa com falha durante o desligamento. O recurso de dimensionamento automático cluster existente escalona nós para baixo somente se o nó for parado.
O dimensionamento automático aprimorado é o modo de dimensionamento automático default quando você cria um novo pipeline na interface do usuário do pipeline declarativo LakeFlow . Você pode habilitar o dimensionamento automático aprimorado para o pipeline existente editando as configurações pipeline na interface do usuário. Você também pode habilitar o dimensionamento automático aprimorado ao criar ou editar um pipeline com a API de pipeline declarativa LakeFlow .
Quais métricas o dimensionamento automático aprimorado usa para tomar uma decisão de aumento ou redução?
O dimensionamento automático aprimorado usa duas métricas para decidir sobre a ampliação ou redução:
- Utilização de slots de tarefa : esta é a proporção média do número de slots de tarefa ocupados em relação ao total de slots de tarefa disponíveis no cluster .
- Tamanho da fila de tarefas : Este é o número de tarefas aguardando para serem executadas em slots de tarefas.
Habilitar escalonamento automático aprimorado para o pipeline declarativo LakeFlow
O dimensionamento automático aprimorado é o modo de dimensionamento automático default quando você cria um novo pipeline na interface do usuário do pipeline declarativo LakeFlow . Você pode habilitar o dimensionamento automático aprimorado para o pipeline existente editando as configurações pipeline na interface do usuário. Você também pode habilitar o dimensionamento automático aprimorado ao editar um pipeline com o LakeFlow Pipelines Editor.
Para usar o dimensionamento automático aprimorado, siga um destes procedimentos:
- Defina o modo de cluster como Dimensionamento automático aprimorado ao editar as configurações pipeline no Editor LakeFlow Pipelines .
- Adicione a configuração
autoscale
à configuração do cluster do pipeline e defina o campomode
comoENHANCED
. Consulte Configurar compute clássica para o pipeline declarativo LakeFlow.
Use as seguintes diretrizes ao configurar o dimensionamento automático aprimorado para o pipeline de produção:
- Deixe a configuração
Min workers
no default. - Defina a configuração
Max workers
como um valor baseado no orçamento e na prioridade do pipeline.
O exemplo a seguir configura um cluster de dimensionamento automático aprimorado com um mínimo de 5 trabalhadores e um máximo de 10 trabalhadores. max_workers
deve ser maior ou igual a min_workers
.
- O dimensionamento automático aprimorado está disponível somente para clusters
updates
. O dimensionamento automático legado é usado para clustersmaintenance
. - A configuração
autoscale
tem dois modos:LEGACY
: Use o dimensionamento automáticocluster.ENHANCED
: Use o dimensionamento automático aprimorado.
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
Se o pipeline estiver configurado para execução contínua, ele será reiniciado automaticamente após as alterações na configuração de dimensionamento automático. Após a reinicialização, espere um curto período de aumento de latência. Após esse breve período de latência aumentada, o tamanho do cluster deve ser atualizado com base na sua configuração autoscale
, e a latência do pipeline deve retornar às suas características de latência anteriores.
Limitar custos para pipeline que usa dimensionamento automático aprimorado
Definir o parâmetro Max worker no painel de computação do pipeline define um limite superior para o dimensionamento automático. Reduzir o número de trabalhadores disponíveis pode aumentar a latência para algumas cargas de trabalho, mas evita que os custos de recursos de compute aumentem exponencialmente durante operações com uso intensivo compute .
Databricks recomenda ajustar as configurações do Max Worker para equilibrar a relação custo-latência de acordo com suas necessidades específicas.
Monitorar pipeline clássico habilitado para dimensionamento automático aprimorado
Você pode usar o log in interface do usuário do pipeline declarativo LakeFlow para monitorar métricas de dimensionamento automático aprimoradas para o pipeline clássico. Os eventos de dimensionamento automático aprimorado têm o tipo de evento autoscale
. Os seguintes são exemplos de eventos:
evento | Mensagem |
---|---|
solicitação de redimensionamento de cluster começar |
|
Solicitação de redimensionamento de cluster bem-sucedida |
|
A solicitação de redimensionamento do cluster foi parcialmente bem-sucedida |
|
Falha na solicitação de redimensionamento do cluster |
|
Você também pode view eventos de dimensionamento automático aprimorados consultando diretamente o logde eventos:
- Para consultar o log de eventos para obter detalhes do backlog, consulte Monitorar o backlog de dados para otimizar a transmissão prazo.
- Para monitorar solicitações e respostas de redimensionamento cluster durante operações de dimensionamento automático aprimoradas, consulte Monitorar eventos de dimensionamento automático para otimizar computeclássica.
O que é autoescala vertical?
O pipeline sem servidor é adicionado ao dimensionamento automático horizontal fornecido pelo dimensionamento automático aprimorado do Databricks , alocando automaticamente os tipos de instância mais econômicos que podem executar seu pipeline declarativo LakeFlow sem falhar devido a erros de falta de memória. O dimensionamento automático vertical aumenta quando tipos de instância maiores são necessários para executar uma atualização pipeline e também diminui quando determina que a atualização pode ser executada com tipos de instância menores. O dimensionamento automático vertical determina se os nós de driver, os nós worker ou ambos, driver e worker , devem ser ampliados ou reduzidos.
O dimensionamento automático vertical é usado para todos os pipelines declarativos LakeFlow serverless , incluindo o pipeline usado pelas tabelas de transmissão e visualização materializada Databricks SQL .
O dimensionamento automático vertical funciona detectando atualizações pipeline que falharam devido a erros de falta de memória. O dimensionamento automático vertical aloca tipos de instância maiores quando essas falhas são detectadas com base nos dados de falta de memória coletados da atualização com falha. No modo de produção, uma nova atualização que usa o novo recurso compute é iniciada automaticamente. No modo de desenvolvimento, os novos recursos compute são usados quando você inicia manualmente uma nova atualização.
Se o dimensionamento automático vertical detectar que a memória das instâncias alocadas está consistentemente subutilizada, ele reduzirá os tipos de instância a serem usados na próxima atualização pipeline .