Pular para o conteúdo principal

Otimizar a utilização de clustering do pipeline DLT com autoscale

Este artigo discute como usar a escala automática aprimorada para otimizar seu pipeline DLT em Databricks.

A autoescala aprimorada é ativada pelo site default para todos os novos pipelines. O pipeline sem servidor também usa a autoescala vertical. Consulte O que é escala automática vertical?

O que é a escala automática aprimorada?

Databricks O autoscale aprimorado otimiza a utilização do clustering alocando automaticamente o recurso de clustering com base no volume da carga de trabalho, com impacto mínimo sobre a latência do processamento de dados do pipeline.

A autoescala aprimorada melhora a Databricks funcionalidade de autoescala do clustering com o seguinte recurso:

  • A autoescala aprimorada implementa a otimização de cargas de trabalho de transmissão e adiciona aprimoramentos para melhorar o desempenho de cargas de trabalho de lotes. A autoescala aprimorada otimiza os custos adicionando ou removendo máquinas à medida que a carga de trabalho muda.
  • A autoescala aprimorada desliga proativamente os nós subutilizados, garantindo que não haja falhas na tarefa durante o desligamento. O recurso de clustering existente escala automaticamente os nós para baixo somente se o nó estiver parado.

A autoescala aprimorada é o modo de autoescala default quando o senhor cria um novo pipeline na UI do DLT. O senhor pode ativar a escala automática aprimorada para o pipeline existente editando as configurações do pipeline na interface do usuário. O senhor também pode ativar a escala automática aprimorada ao criar ou editar o pipeline com o DLT API.

Quais métricas a escala automática aprimorada usa para tomar uma decisão de escalar para cima ou para baixo?

A autoescala aprimorada usa duas métricas para decidir sobre o aumento ou a redução de escala:

  • utilização de slots de tarefa : É a proporção média entre o número de slots de tarefa ocupados e o total de slots de tarefa disponíveis no clustering .
  • tamanho da fila de tarefas : Esse é o número de tarefas que aguardam execução nos slots de tarefa.

Habilitar a escala automática aprimorada para uma DLT pipeline

A autoescala aprimorada é o modo de autoescala default quando o senhor cria um novo pipeline na UI do DLT. O senhor pode ativar a escala automática aprimorada para o pipeline existente editando as configurações do pipeline na interface do usuário. O senhor também pode ativar a escala automática aprimorada ao criar ou editar um pipeline com o DLT API.

Para usar a escala automática aprimorada, siga um destes procedimentos:

  • Defina o modo de clustering como Enhanced autoscale ao criar ou editar um pipeline na UI do DLT.
  • Adicione a configuração autoscale à configuração de clustering pipeline e defina o campo mode como ENHANCED. Consulte Configurar compute para um DLT pipeline.

Use as seguintes diretrizes ao configurar o autoscale aprimorado para o pipeline de produção:

  • Deixe a configuração Min workers em 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 clustering de autoescala 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.

nota
  • A autoescala aprimorada está disponível apenas para o cluster updates. A escala automática herdada é usada para o clustering maintenance.
  • A configuração autoscale tem dois modos:
JSON
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}

Se o site pipeline estiver configurado para execução contínua, ele será reiniciado automaticamente após a alteração da configuração da autoescala. Após a reinicialização, espere um curto período de maior latência. Após esse breve período de aumento da latência, o tamanho do clustering deve ser atualizado com base em sua configuração autoscale e a latência do pipeline deve retornar às características de latência anteriores.

Limitar os custos do pipeline que usa a autoescala aprimorada

A configuração do parâmetro Max worker no painel de computação do pipeline define um limite superior para a escala automática. A redução do número de trabalhadores disponíveis pode aumentar a latência de algumas cargas de trabalho, mas evita que os custos do recurso compute estourem durante as operações intensivas do 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.

O painel de computação na interface do usuário do pipeline, onde o senhor pode definir o trabalhador máximo para a escala automática

Monitorar o pipeline clássico habilitado para autoescala aprimorada

O senhor pode usar o evento log in na interface de usuário do DLT para monitorar as métricas de autoescala aprimoradas para o pipeline clássico. Os eventos de autoescala aprimorados têm o tipo de evento autoscale. Veja a seguir exemplos de eventos:

evento

Mensagem

solicitação de redimensionamento de clustering começar

Scaling [up or down] to <y> executors from current cluster size of <x>

A solicitação de redimensionamento do clustering foi bem-sucedida

Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED

A solicitação de redimensionamento do clustering foi parcialmente bem-sucedida

Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED

Falha na solicitação de redimensionamento do clustering

Achieved cluster size <x> for cluster <cluster-id> with status FAILED

O senhor também pode view eventos de autoescala aprimorados consultando diretamente o evento log:

O que é a escala automática vertical?

serverless DLT O pipeline aumenta a autoescala horizontal fornecida pelo Databricks enhanced autoscale alocando automaticamente os tipos de instância mais econômicos que podem executar o DLT pipeline sem falhar devido a erros de falta de memória. A escala automática vertical aumenta quando são necessários tipos de instância maiores para executar uma atualização do pipeline e também diminui quando determina que a atualização pode ser executada com tipos de instância menores. A escala automática vertical determina se os nós do driver, os nós do worker ou os nós do driver e do worker devem ser dimensionados para cima ou para baixo.

A escala automática vertical é usada em todo o pipeline serverless DLT , incluindo o pipeline usado pela visualização materializada Databricks SQL e pelas tabelas de transmissão.

A autoescala vertical funciona detectando atualizações do site pipeline que falharam devido a erros de falta de memória. A autoescala vertical aloca tipos de instância maiores quando essas falhas são detectadas com base nos dados fora da memória coletados da atualização com falha. No modo de produção, uma nova atualização que usa o novo compute recurso é iniciada automaticamente. No modo de desenvolvimento, o novo recurso compute é usado quando o senhor começa manualmente uma nova atualização.

Se a autoescala vertical detectar que a memória das instâncias alocadas está sendo subutilizada de forma consistente, ela reduzirá os tipos de instância a serem usados na próxima atualização do site pipeline.