Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Configure os recursos de computação clássicos para os pipelines do Lakeflow para controlar políticas de computação, tipos de instância e configurações do cluster. Para obter uma referência do esquema JSON, confira a definição de clusters na Referência da API de pipeline.
O Databricks recomenda sem servidor para novos pipelines. Escolha computação clássica quando precisar de tipos específicos de instância, políticas de computação personalizadas, scripts de init, um driver JDBC externo instalado no cluster ou um espaço de trabalho fora de uma região habilitada para serverless. Consulte Configurar um pipeline sem servidor.
Para criar um pipeline executado na computação clássica, os usuários devem primeiro ter permissão para implantar a computação clássica, seja a permissão de criação irrestrita ou o acesso a uma política de computação. Pipelines sem servidor não exigem permissões para criação de recursos computacionais. Por padrão, todos os usuários do workspace podem usar pipelines sem servidor.
Para uma comparação lado a lado entre computação clássica e computação sem servidor, incluindo quais recursos cada uma suporta, veja Computação sem servidor vs. computação clássica para pipelines.
Observação
Como o runtime de pipeline gerencia o ciclo de vida da computação de pipeline e executa uma versão personalizada do Databricks Runtime, você não pode definir manualmente algumas configurações de computação 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.
Selecione o recurso de computação para o seu pipeline
Para configurar a computação clássica para seu pipeline no Editor de Pipelines do Lakeflow:
- Clique em Configurações.
- Na seção Computação das configurações do pipeline, clique no
Editar.
- Se estiver marcada, desmarque Serverless.
- Faça outras alterações nas configurações de computação e clique em Salvar.
Isso configura o pipeline para usar a computação clássica e permite editar as configurações de computação, conforme descrito abaixo.
Para saber mais sobre o Editor de Pipelines do Lakeflow, confira Desenvolver e depurar pipelines ETL com o Editor de Pipelines do Lakeflow.
Selecionar uma política de computação
Os administradores do workspace podem configurar políticas de computação para fornecer aos usuários acesso aos recursos de computação clássicos para pipelines. As políticas de computação são opcionais. Verifique com o administrador do workspace se você não tem os privilégios de computação necessários. Confira Definir limites na computação dos pipelines do Lakeflow.
Ao usar a API de Pipelines, para garantir que os valores padrão da política de computação sejam aplicados corretamente, defina "apply_policy_default_values": true dentro da definição clusters.
{
"clusters": [
{
"label": "default",
"policy_id": "<policy-id>",
"apply_policy_default_values": true
}
]
}
Configurar etiquetas de computação
Você pode adicionar tags personalizadas aos recursos de computação clássicos do seu pipeline. As tags permitem monitorar os custos dos recursos de computação usados por vários grupos em sua organização. O Databricks aplica essas marcas aos recursos de nuvem e aos logs de uso registrados nas tabelas do sistema de uso. Você pode adicionar marcadores usando a configuração da interface do usuário de Marcas de cluster ou editando a configuração de JSON do seu pipeline.
Selecionar tipos de instância para executar um pipeline
Por padrão, o pipeline seleciona os tipos de instância para os seus nós de driver e de trabalho. 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.
Para configurar tipos de instância ao criar ou editar um pipeline no Editor do Lakeflow Pipelines:
- Clique no botão Configurações .
- Na seção Computação das configurações do pipeline, clique no
.
- Na seção Configurações avançadas, selecione os tipos de instância Tipo de trabalhador e Tipo de driver para o pipeline.
Definir configurações separadas para os clusters de atualização e manutenção
Cada pipeline declarativo tem dois recursos de computação associados: um cluster de atualização que processa atualizações de pipeline e um cluster de manutenção que executa tarefas diárias de manutenção (incluindo otimização preditiva). Por padrão, suas configurações de computação se aplicam a ambos os clusters. Usar as mesmas configurações para 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.
Para aplicar configurações a apenas um dos dois clusters, adicione o label campo ao objeto JSON de configuração. Há três valores possíveis para o label campo:
-
maintenance: aplica a configuração somente ao cluster de manutenção. -
updates: aplica a configuração somente ao cluster de atualização. -
default: aplica a configuração aos clusters de atualização e manutenção. Esse será o valor padrão se olabelcampo for omitido.
Se houver uma configuração conflitante, a configuração com o rótulo updates ou maintenance substituirá a configuração definida com o rótulo default.
Observação
O cluster de manutenção diária é usado somente em determinados casos:
- Pipelines armazenados no metastore do Hive.
- Pipelines em workspaces que não aceitaram os termos de serviço de computação sem servidor. Se você precisar de ajuda para aceitar os termos, entre em contato com seu representante do Databricks.
- Pipelines em workspaces que não configuraram corretamente o link privado para sem servidor.
Exemplo: definir uma configuração para o cluster de atualização
O exemplo a seguir define um parâmetro de configuração do Spark que é adicionado somente à configuração do cluster updates:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
Observação
Para controlar os custos na computação clássica, ative o escalonamento automático aprimorado ("mode": "ENHANCED") e defina limites realistas para max_workers e min_workers que correspondam à sua carga de trabalho, em vez de usar um número fixo de workers dimensionado para a carga de pico. Consulte Otimizar utilização do cluster de pipeline do Lakeflow com dimensionamento automático.
Exemplo: configurar tipos de instância para o cluster de atualização
Para evitar a atribuição de recursos desnecessários ao cluster maintenance, este exemplo usa o rótulo updates para definir os tipos de instância somente para o cluster updates.
{
"clusters": [
{
"label": "updates",
"node_type_id": "Standard_D12_v2",
"driver_node_type_id": "Standard_D3_v2",
"...": "..."
}
]
}
Atrasar desligamento de computação
Para controlar o comportamento de desligamento do cluster, use a configuração pipelines.clusterShutdown.delay na configuração do pipeline. O seguinte exemplo define o valor de pipelines.clusterShutdown.delay como 60 segundos:
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
O valor pipelines.clusterShutdown.delay padrão depende do comportamento de execução de atualização: 0 seconds para atualizações que usam o comportamento automático de repetição e reinicialização e 2 hours para atualizações ad hoc que usam o comportamento de início rápido e focado em depuração.
Observação
Como os recursos de computação de pipeline são desligados automaticamente quando não estão em uso, você não pode usar uma política de computação que define autotermination_minutes. Isso resulta em um erro.
Criar uma computação de nó único
Uma computação de nó único tem um nó de driver que atua como mestre e trabalhador. Isso destina-se a cargas de trabalho que usam pequenas quantidades de dados ou não são distribuídas.
Para criar uma computação de nó único, defina num_workers como 0. Por exemplo:
{
"clusters": [
{
"num_workers": 0
}
]
}