Compartilhar via


Configurar a computação para um pipeline do Delta Live Tables

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

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

Selecionar uma política de cluster

Os usuários devem ter permissão para implantar a computação para configurar e atualizar pipelines das Tabelas Dinâmicas Delta. Os administradores do workspace podem configurar políticas de cluster para fornecer aos usuários acesso aos recursos de computação para o Delta Live Tables. Consulte Definir limites em clusters de pipeline de Tabelas Dinâmicas Delta.

Observação

  • As políticas de cluster são opcionais. Verifique com o administrador do workspace se você não tem os privilégios de computação necessários para Delta Live Tables.

  • Para garantir que os valores padrão da política de cluster sejam aplicados corretamente, defina apply_policy_default_values como true nas 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

Você pode usar marcas de cluster para monitorar o uso de seus clusters de pipeline. Adicione tags 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.

Selecionar 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, 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 ao 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 do tipo Worker e tipo Driver, 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 do Delta Live Tables tem dois clusters associados:

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

As configurações de computação especificadas usando a interface do usuário de configuração do pipeline do workspace se aplicam aos clusters de atualização e manutenção. Você deve editar a configuração JSON para modificar essas configurações de forma independente.

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:

Observação

A configuração de rótulo de cluster pode ser omitida se você definir apenas uma configuração de cluster. O rótulo default será aplicado às configurações de cluster se nenhuma configuração para o rótulo for fornecida. A configuração de rótulo de cluster será 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 maintenance .updates 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 as configurações de computação que se aplicam somente ao cluster maintenance. Você também pode usar o rótulo maintenance para substituir as configurações definidas pelo rótulo default.
  • O rótulo updates define as configurações que se aplicam somente ao cluster updates. Use-o para definir configurações que não devem ser aplicadas ao maintenance cluster.

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 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 updates:

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

As Tabelas Dinâmicas Delta têm 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.

Observação

Como o runtime do Delta Live Tables gerencia o ciclo de vida dos clusters de pipeline e executa uma versão personalizada do Databricks Runtime, você não pode definir manualmente algumas configurações de cluster em uma configuração de pipeline, como a versão do Spark ou nomes de cluster. Confira 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 definir 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:

Observaçã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. 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 será aplicado às configurações do 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 desligamento de computação

Para controlar o comportamento de desligamento do cluster, use o modo de desenvolvimento ou de produção ou 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"
    }
}

Quando o modo production estiver habilitado, o valor padrão de pipelines.clusterShutdown.delay é 0 seconds. Quando o modo development estiver habilitado, o valor padrão é 2 hours.

Observação

Como um cluster Delta Live Tables é desligado automaticamente quando não está em uso, fazer referência a uma política de cluster definida 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 do cluster, ele será criado como um cluster de nó único. Configurar um cluster de dimensionamento automático e definir min_workers como 0 e max_workers 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 trabalho ativo em todos os momentos até ser encerrado.

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

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