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 campomode
comoENHANCED
. 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
.
- A autoescala aprimorada está disponível apenas para o cluster
updates
. A escala automática herdada é usada para o clusteringmaintenance
. - A configuração
autoscale
tem dois modos:LEGACY
: Use a escala automática de clustering.ENHANCED
: Usar escala automática aprimorada.
{
"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.
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 |
|
A solicitação de redimensionamento do clustering foi bem-sucedida |
|
A solicitação de redimensionamento do clustering foi parcialmente bem-sucedida |
|
Falha na solicitação de redimensionamento do clustering |
|
O senhor também pode view eventos de autoescala aprimorados consultando diretamente o evento log:
- Para consultar o log de eventos para obter métricas de backlog, consulte Monitorar backlog de dados consultando o log de eventos.
- Para monitorar as solicitações e respostas de redimensionamento de clustering durante as operações de autoescala aprimorada, consulte Monitorar eventos de autoescala aprimorada do evento log para pipeline sem serverless ativado.
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.