Partilhar via


Configurar recursos computacionais para um pipeline Delta Live Tables

Este artigo contém instruções e considerações ao definir configurações de computação personalizadas para pipelines Delta Live Tables.

Os pipelines sem servidor não fornecem opções de configuração de computação. Consulte Configurar um pipeline Delta Live Tables sem servidor.

Select uma política de cluster

Os usuários devem ter permissão para implantar a computação para configurar e update pipelines do Delta Live Tables. 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 o Delta Live Tables. Consulte Definir limites na computação do pipeline Delta Live Tables.

Nota

  • 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 o Delta Live Tables.

  • Para garantir que os values padrão da diretiva de cluster sejam aplicados corretamente, setapply_policy_default_valuestrue no configurações de cluster na configuração do pipeline:

    {
      "clusters": [
        {
          "label": "default",
          "policy_id": "<policy-id>",
          "apply_policy_default_values": true
        }
      ]
    }
    

Configurar tags de cluster

Pode utilizar« etiquetas de cluster para monitorizar a utilização dos clusters de pipeline. Adicione marcas de cluster na interface do usuário do Delta Live Tables ao criar ou editar um pipeline ou editando as configurações JSON para seus clusters de pipeline.

Select tipos de instância para executar um pipeline

Por padrão, o Delta Live Tables 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, os tipos de instância select para melhorar o desempenho do pipeline ou resolver problemas de memória durante a execução do pipeline. Você pode configurar tipos de instância quando criar ou editar um pipeline com a API REST ou na interface do usuário do Delta Live Tables.

Para configurar tipos de instância ao criar ou editar um pipeline na interface do usuário do Delta Live Tables:

  1. Clique no botão Configurações .
  2. Na seção Advanced das configurações do pipeline, nos menus suspensos Worker type e Driver typeselect os tipos de instância do pipeline.

Configurações avançadas de computação

Nota

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ê select sem servidor para um pipeline.

Cada pipeline Delta Live Tables tem dois clusters associados:

  • O updates cluster processa atualizações de pipeline.
  • O maintenance cluster executa tarefas de manutenção diárias.

As definições de computação especificadas através da interface de configuração do pipeline do espaço de trabalho aplicam-se tanto ao cluster update quanto aos 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 especificado nas configurações do clusters 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:

Nota

A configuração do rótulo do cluster pode ser omitida se você definir apenas uma configuração de cluster. O default rótulo é 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 default rótulo define as configurações de computação para os clusters e updates para os maintenance clusters. 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 credentials de acesso a dados para um local de armazenamento, sejam aplicadas ao cluster de manutenção.
  • O maintenance rótulo define configurações de computação que se aplicam apenas ao maintenance cluster. Você também pode usar o maintenance rótulo para substituir as configurações definidas pelo default rótulo.
  • O updates rótulo define configurações que se aplicam somente ao updates cluster. Use-o para definir configurações que não devem ser aplicadas ao maintenance cluster.

As configurações definidas usando os default rótulos e updates são mescladas para criar a configuração final para o updates cluster. Se a mesma configuração for definida usando ambos os default rótulos e updates , a configuração definida com o updates rótulo substituirá a configuração definida com o default rótulo.

O exemplo a seguir define um parâmetro de configuração do Spark que é adicionado somente à configuração do updates cluster:

{
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    },
    {
      "label": "updates",
      "spark_conf": {
         "key": "value"
      }
    }
  ]
}

O Delta Live Tables 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 Computação.

Nota

Como o tempo de execução do Delta Live Tables gerencia o ciclo de vida dos clusters de pipeline e executa uma versão personalizada do Databricks Runtime, não é possível set 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 update e de manutenção

Para configurar tipos de instância nas configurações JSON do pipeline, clique no botão JSON e insira as configurações de tipo de instância na configuração do cluster:

Nota

Para evitar atribuir recursos desnecessários ao cluster de maintenance, este exemplo usa o rótulo updates para set os tipos de instância apenas para o cluster updates. Para atribuir os tipos de instância a ambos e updatesmaintenance clusters, use o default rótulo ou omita a configuração do rótulo. O default rótulo é 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 pipelines.clusterShutdown.delay configuração na configuração do pipeline. O exemplo seguinte define o valor pipelines.clusterShutdown.delay como 60 segundos:

{
    "configuration": {
      "pipelines.clusterShutdown.delay": "60s"
    }
}

Quando o modo production está ativado, o valor predefinido de pipelines.clusterShutdown.delay é 0 seconds. Quando o modo development está ativado, o valor predefinido é 2 hours.

Nota

Como um cluster Delta Live Tables é 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 configurar setnum_workers a 0 nas configurações de cluster, será criado 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 set apenas min_workers a 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 terminado.

Um exemplo de configuração de cluster para criar um cluster de nó único no Delta Live Tables:

{
    "clusters": [
      {
        "num_workers": 0
      }
    ]
}