Configurar recursos de computação para um pipeline DLT
Este artigo contém instruções e considerações ao definir configurações de computação personalizadas para pipelines DLT.
Os pipelines sem servidor não fornecem opções de configuração de computação. Consulte Configurar um pipeline DLT sem servidor.
Selecione uma política de cluster
Os utilizadores devem ter permissão para desdobrar recursos computacionais para a configuração e atualização de pipelines DLT. Os administradores de espaço de trabalho podem configurar políticas de cluster para fornecer aos usuários acesso a recursos de computação para DLT. Consulte Limitar a computação do pipeline DLT.
Observação
As políticas de cluster são opcionais. Verifique com o administrador do espaço de trabalho se você não tem os privilégios de computação necessários para DLT.
Para garantir que os valores padrão da política de cluster sejam aplicados corretamente, defina
apply_policy_default_values
comotrue
nas configurações de cluster na configuração do pipeline.{ "clusters": [ { "label": "default", "policy_id": "<policy-id>", "apply_policy_default_values": true } ] }
Configurar etiquetas de cluster
Você pode usar tags de cluster para monitorar o uso de seus clusters de pipeline. Adicione marcas de cluster na interface do usuário DLT ao criar ou editar um pipeline ou editando as configurações JSON para seus clusters de pipeline.
Selecionar tipos de instância para executar um pipeline
Por padrão, a DLT seleciona os tipos de instância para os nós de driver e de trabalho do pipeline. Opcionalmente, você pode configurar os tipos de instância.
Por exemplo, selecione tipos de instância para melhorar o desempenho do pipeline ou resolver problemas de memória ao executar o pipeline. Você pode configurar tipos de instância quando criar ou editar um pipeline com a API REST ou na interface do usuário DLT.
Para configurar tipos de instância ao criar ou editar um pipeline na interface do usuário DLT:
- Clique no botão Configurações.
- Na seção Advanced das configurações do pipeline, nos menus suspensos Worker type e Driver type, selecione os tipos de instância para o pipeline.
Configurações avançadas de computação
Observação
Como os recursos de computação são totalmente gerenciados para pipelines DLT sem servidor, as configurações de computação não estão disponíveis quando você seleciona sem servidor para um pipeline.
Cada pipeline DLT tem dois clusters associados:
- O cluster
updates
processa atualizações da linha de produção. - O cluster
maintenance
executa tarefas de manutenção diárias.
As configurações de computação especificadas através da interface de utilizador de configuração do pipeline do espaço de trabalho aplicam-se tanto aos clusters de atualização quanto de manutenção. Você deve editar a configuração JSON para modificar essas configurações independentemente.
A configuração que esses clusters usam é determinada pelo atributo clusters
especificado nas configurações do pipeline.
Usando rótulos de cluster, você pode adicionar configurações de computação que se aplicam apenas a um tipo de cluster específico. Há três rótulos que você pode usar ao configurar clusters de pipeline:
Observação
A configuração do rótulo do cluster pode ser omitida se você definir apenas uma configuração de cluster. O rótulo default
é aplicado às configurações de cluster se nenhuma configuração para o rótulo for fornecida. A configuração do rótulo do cluster é necessária somente se você precisar personalizar as configurações para diferentes tipos de cluster.
- O rótulo
default
define as configurações de computação para os clustersupdates
emaintenance
. A aplicação das mesmas configurações a ambos os clusters melhora a confiabilidade das execuções de manutenção, garantindo que as configurações necessárias, como credenciais de acesso a dados para um local de armazenamento, sejam aplicadas ao cluster de manutenção. - O rótulo
maintenance
define configurações de computação que se aplicam apenas ao clustermaintenance
. Você também pode usar o rótulomaintenance
para substituir as configurações definidas pelo rótulodefault
. - O rótulo
updates
define configurações que se aplicam apenas ao clusterupdates
. Use-o para definir configurações que não devem ser aplicadas ao cluster demaintenance
.
As configurações definidas usando os rótulos default
e updates
são mescladas para criar a configuração final para o cluster updates
. Se a mesma configuração for definida usando os rótulos default
e updates
, a configuração definida com o rótulo updates
substituirá a configuração definida com o rótulo default
.
O exemplo a seguir define um parâmetro de configuração do Spark que é adicionado somente à configuração do cluster de updates
:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
A DLT tem opções semelhantes para configurações de cluster como outras computações no Azure Databricks. Como outras configurações de pipeline, você pode modificar a configuração JSON para clusters para especificar opções não presentes na interface do usuário. Consulte Compute.
Observação
Como o tempo de execução da DLT gerencia o ciclo de vida dos clusters de pipeline e executa uma versão personalizada do Databricks Runtime, não é possível definir manualmente algumas configurações de cluster em uma configuração de pipeline, como a versão do Spark ou nomes de cluster. Consulte Atributos de cluster que não são configuráveis pelo usuário.
Configurar tipos de instância para clusters de atualização e manutenção
Para configurar tipos de instância nas definições JSON do pipeline, clique no botão JSON e introduza as configurações de tipo de instância na configuração do cluster:
Observação
Para evitar atribuir recursos desnecessários ao cluster de maintenance
, este exemplo usa o rótulo updates
para definir os tipos de instância apenas para o cluster updates
. Para atribuir os tipos de instância aos clusters updates
e maintenance
, use o rótulo default
ou omita a configuração do rótulo. O rótulo default
é aplicado às configurações de cluster de pipeline se nenhuma configuração para o rótulo for fornecida. Consulte Configurações avançadas de computação.
{
"clusters": [
{
"label": "updates",
"node_type_id": "Standard_D12_v2",
"driver_node_type_id": "Standard_D3_v2",
"...": "..."
}
]
}
Atrasar o desligamento da computação
Para controlar o comportamento de desligamento do cluster, você pode usar o modo de desenvolvimento ou produção ou usar a configuração pipelines.clusterShutdown.delay
na configuração do pipeline. O exemplo a seguir define o valor pipelines.clusterShutdown.delay
como 60 segundos:
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
Quando o modo production
está habilitado, o valor padrão para pipelines.clusterShutdown.delay
é 0 seconds
. Quando development
modo está habilitado, o valor padrão é 2 hours
.
Observação
Como um cluster DLT é desligado automaticamente quando não está em uso, fazer referência a uma política de cluster que define autotermination_minutes
na configuração do cluster resulta em erro.
Criar um cluster de nó único
Se você definir num_workers
como 0 nas configurações de cluster, o cluster será criado como um cluster de nó único . Configurar um cluster de dimensionamento automático e definir min_workers
para 0 e max_workers
para 0 cria um cluster de nó único.
Se você configurar um cluster de dimensionamento automático e definir apenas min_workers
como 0, o cluster não será criado como um cluster de nó único. O cluster tem pelo menos um trabalhador ativo em todos os momentos até ser encerrado.
Um exemplo de configuração de cluster para criar um cluster de nó único na DLT:
{
"clusters": [
{
"num_workers": 0
}
]
}