Compartilhar via


Otimize a utilização de clusters de pipelines DLT com dimensionamento automático aprimorado

Este artigo descreve como usar o dimensionamento automático avançado para otimizar seus pipelines de DLT no Azure Databricks.

O dimensionamento automático melhorado é ativado por predefinição para todos os novos pipelines.

Para pipelines sem servidor, o dimensionamento automático aprimorado está sempre ativo e não pode ser desativado. Consulte Configurar um pipeline DLT sem servidor.

O que é o dimensionamento automático avançado?

O dimensionamento automático aprimorado do Databricks otimiza a utilização do cluster alocando automaticamente os recursos do cluster com base no volume da carga de trabalho, com impacto mínimo na latência de processamento de dados de seus pipelines.

O dimensionamento automático aprimorado melhora a funcionalidade de dimensionamento automático de cluster do Azure Databricks com os seguintes recursos:

  • O dimensionamento automático aprimorado implementa a otimização de cargas de trabalho de streaming e adiciona aprimoramentos para melhorar o desempenho de cargas de trabalho em lote. O dimensionamento automático aprimorado otimiza os custos adicionando ou removendo máquinas à medida que a carga de trabalho muda.
  • O dimensionamento automático aprimorado desliga proativamente os nós subutilizados, garantindo que não haja falhas nas tarefas durante o desligamento. A funcionalidade de dimensionamento automático do cluster existente reduz os nós apenas se eles estiverem ociosos.

O dimensionamento automático avançado é o modo de dimensionamento automático padrão quando você cria um novo pipeline na interface do usuário DLT. Você pode habilitar o dimensionamento automático aprimorado para pipelines existentes editando as configurações de pipeline na interface do usuário. Você também pode ativar o dimensionamento automático avançado ao criar ou editar pipelines com a DLT API .

Quais métricas o dimensionamento automático aprimorado usa para tomar uma decisão de aumento ou redução de escala?

O dimensionamento automático aprimorado usa duas métricas para decidir sobre o aumento ou a redução:

  • Utilização de slots de tarefas: Esta é a proporção média entre o número de slots de tarefas ocupados e o total de slots de tarefas disponíveis no cluster.
  • Tamanho da fila de tarefas: Este é o número de tarefas aguardando para serem executadas em slots de tarefas.

Ative o dimensionamento automático aprimorado para um pipeline DLT

O dimensionamento automático avançado é o modo de dimensionamento automático padrão quando você cria um novo pipeline na interface do usuário DLT. Você pode habilitar o dimensionamento automático aprimorado para pipelines existentes editando as configurações de 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 DLT.

Para usar o dimensionamento automático avançado, siga um destes procedimentos:

  • Defina do modo Cluster como de dimensionamento automático avançado ao criar ou editar um pipeline na interface do usuário DLT.
  • Adicione a configuração autoscale à configuração do cluster de pipeline e defina o campo mode como ENHANCED. Consulte Configurar computação para um pipeline DLT.

Use as seguintes diretrizes ao configurar o dimensionamento automático aprimorado para pipelines de produção:

  • Deixe a configuração Min workers no padrão.
  • Defina a configuração Max workers para 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.

Observação

  • O dimensionamento automático avançado está disponível apenas para clusters updates. O escalonamento automático legado é usado para clusters maintenance.
  • A configuração autoscale tem dois modos:
    • LEGACY: Utilize o dimensionamento automático de de cluster.
    • ENHANCED: Use um 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 o reinício, espere um curto período de maior latência. Após esse breve período de latência aumentada, o tamanho do cluster deve ser atualizado com base na configuração do autoscale e a latência do pipeline deve retornar às suas características de latência anteriores.

Limite os custos dos pipelines que utilizam aprimorado dimensionamento automático

Observação

Não é possível configurar operadores para pipelines sem servidor.

A definição do parâmetro Max workers nos pipelines painel Compute define um limite superior para dimensionamento automático. 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 dos recursos de computação aumentem durante operações de computação intensiva.

A Databricks recomenda ajustar as configurações de dos trabalhadores do Max para equilibrar a compensação custo-latência para suas necessidades específicas.

O painel Computação na interface do usuário Pipelines, onde você pode definir o máximo de trabalhadores para dimensionamento automático

Monitore pipelines clássicos habilitados para dimensionamento automático aprimorado

Você pode usar o log de eventos na interface do usuário DLT para monitorar métricas aprimoradas de dimensionamento automático para pipelines clássicos. Os eventos de dimensionamento automático aprimorado têm o tipo de evento autoscale. Seguem-se exemplos de eventos:

Evento Mensagem
Solicitação de redimensionamento de cluster iniciada Scaling [up or down] to <y> executors from current cluster size of <x>
Solicitação de redimensionamento de cluster bem-sucedida Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED
Solicitação de redimensionamento de cluster parcialmente bem-sucedida Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED
Falha na solicitação de redimensionamento de cluster Achieved cluster size <x> for cluster <cluster-id> with status FAILED

Você também pode exibir eventos de dimensionamento automático aprimorados consultando diretamente o log de eventos :