Referência de configuração de computação

Este artigo explica todas as definições de configuração disponíveis na interface de usuário do Create compute. A maioria dos usuários cria o site compute usando suas políticas atribuídas, o que limita as configurações. Se não vir uma configuração específica na interface do usuário, é porque a política selecionada não permite que você defina essa configuração.

GCP unrestricted compute página de criação

As configurações e as ferramentas de gerenciamento descritas neste artigo se aplicam a todos os fins e ao site Job compute. Para obter mais considerações sobre a configuração do Job compute, consulte Use Databricks compute with your Job.

Políticas

As políticas são um conjunto de regras usadas para limitar as opções de configuração disponíveis para os usuários quando eles criam compute. Se um usuário não tiver o direito de criação de clusters Unrestricted, ele só poderá criar compute usando as políticas concedidas.

Para criar o site compute de acordo com uma política, selecione uma política no menu suspenso Policy (Política ).

Em default, todos os usuários têm acesso à política Personal compute, o que lhes permite criar um recurso de máquina única compute. Se o senhor precisar de acesso ao Personal compute ou a quaisquer políticas adicionais, entre em contato com o administrador do workspace.

Computação de nó único ou de vários nós

Dependendo da política, o senhor pode escolher entre criar um nó único compute ou um nó múltiplo compute.

O nó único compute é destinado a trabalhos que usam pequenas quantidades de dados ou cargas de trabalho não distribuídas, como biblioteca de nó único e aprendizado de máquina. O compute de vários nós deve ser usado para trabalhos maiores com cargas de trabalho distribuídas.

Propriedades de um único nó

Um único nó compute tem as seguintes propriedades:

  • execução do Spark localmente.

  • O driver atua como mestre e worker, sem nós worker.

  • Gera um thread de executor por núcleo lógico no site compute, menos 1 núcleo para o driver.

  • Salva todas as saídas de logs stderr, stdout e log4j nos logs do driver.

  • Não pode ser convertido em um nó múltiplo compute.

Seleção de um ou vários nós

Considere seu caso de uso ao decidir entre um único ou vários nós compute:

  • O processamento de dados em grande escala esgotará o recurso em um único nó compute. Para essas cargas de trabalho, a Databricks recomenda o uso de um nó múltiplo compute.

  • O nó único compute não foi projetado para ser compartilhado. Para evitar conflitos de recurso, a Databricks recomenda o uso de um nó múltiplo compute quando o compute precisar ser compartilhado.

  • Um compute com vários nós não pode ser dimensionado para 0 trabalhador. Em vez disso, use um único nó compute.

  • O nó único compute não é compatível com o isolamento do processo.

  • A programação da GPU não está habilitada em um único nó compute.

  • Em um único nó compute, o Spark não pode read.parquet arquivos com uma coluna UDT. O resultado é a seguinte mensagem de erro:

    The Spark driver has stopped unexpectedly and is restarting. Your notebook will be automatically reattached.
    

    Para contornar esse problema, desative o leitor de Parquet nativo:

    spark.conf.set("spark.databricks.io.parquet.nativeReader.enabled", False)
    

Modos de acesso

O modo de acesso é um recurso de segurança que determina quem pode usar o compute e quais dados podem ser acessados por meio do compute. Cada compute no Databricks tem um modo de acesso.

A Databricks recomenda que o senhor use o modo de acesso compartilhado para todas as cargas de trabalho. Use o modo de acesso de usuário único somente se a funcionalidade necessária não for compatível com o modo de acesso compartilhado.

Modo de acesso

Visível para o usuário

Suporte UC

Idiomas suportados

Notas

Único usuário

Sempre

Sim

Python, SQL, Scala, R

Pode ser atribuído e usado por um único usuário. Referido como modo de acesso atribuído em alguns espaços de trabalho.

Compartilhado

Sempre (é necessário um plano Premium)

Sim

Python (no Databricks Runtime 11.3 LTS e acima), SQL, Scala (no Unity Catalog habilitado compute usando o Databricks Runtime 13.3 LTS e acima)

Pode ser usado por vários usuários com isolamento de dados entre os usuários.

Nenhum isolamento compartilhado

Os administradores podem ocultar esse modo de acesso impondo o isolamento do usuário na página de configurações do administrador.

Não

Python, SQL, Scala, R

Há uma configuração relacionada no nível da conta para No Isolation Shared compute (computação compartilhada sem isolamento).

Personalizado

Oculto (para todos os novos compute)

Não

Python, SQL, Scala, R

Essa opção é exibida somente se o senhor tiver um compute existente sem um modo de acesso especificado.

O senhor pode atualizar um site compute existente para atender aos requisitos do Unity Catalog, definindo seu modo de acesso como Single User (Usuário único ) ou Shared (Compartilhado).

Observação

No Databricks Runtime 13.3 LTS e acima, o script de inicialização e a biblioteca são suportados em todos os modos de acesso. Os requisitos e o suporte variam. Consulte Onde o script de inicialização pode ser instalado? e biblioteca com escopo de clusters.

Versões do Databricks Runtime

O Databricks Runtime é o conjunto de componentes principais que são executados em seu site compute. Selecione o tempo de execução usando o menu suspenso Databricks Runtime Version. Para obter detalhes sobre versões específicas do Databricks Runtime, consulte Notas sobre a versão e compatibilidade do Databricks Runtime. Todas as versões incluem o Apache Spark. A Databricks recomenda o seguinte:

  • Para todos os fins compute, use a versão mais atual para garantir que o senhor tenha as otimizações mais recentes e a compatibilidade mais atualizada entre o seu código e o pacote pré-carregado.

  • Para Job compute executando cargas de trabalho operacionais, considere o uso da versão Long Term Support (LTS) Databricks Runtime. O uso da versão LTS garantirá que o senhor não se depare com problemas de compatibilidade e poderá testar exaustivamente sua carga de trabalho antes de fazer o upgrade.

  • Para casos de uso de ciência de dados e machine learning , considere a versão Databricks Runtime ML.

Use o site Photon acceleration

O Photon está disponível em compute executando o Databricks Runtime 9.1 LTS e acima.

Para ativar ou desativar a aceleração do Photon, marque a caixa de seleção Use Photon Acceleration (Usar aceleração do ). Para saber mais sobre o Photon, consulte O que é o Photon?

Tipos de nós de trabalho e de driver

compute consiste em um nó driver e zero ou mais nós worker. O senhor pode escolher tipos de instância de provedor de nuvens separados para os nós driver e worker, embora em default o nó driver use o mesmo tipo de instância que o nó worker. Diferentes famílias de tipos de instância se adaptam a diferentes casos de uso, como cargas de trabalho com uso intensivo de memória ou compute.

O senhor também pode selecionar um pool para usar como worker ou nó de driver. Consulte O que são pools de Databricks?

Tipo de trabalhador

Em um compute com vários nós, os nós do worker executam o executor do Spark e outros serviços necessários para o funcionamento adequado do compute. Quando o senhor distribui sua carga de trabalho com o Spark, todo o processamento distribuído acontece nos nós do worker. Execução do Databricks: um executor por nó worker. Portanto, os termos executor e worker são usados de forma intercambiável no contexto da arquitetura da Databricks.

Dica

Para executar um Spark Job, o senhor precisa de pelo menos um nó worker. Se o site compute tiver zero worker, o senhor poderá executar um comando que não seja do Spark no nó do driver, mas o comando do Spark falhará.

Endereços IP do nó do worker

A Databricks lança worker nós com dois endereços IP privados cada. O endereço IP privado primário do nó hospeda o tráfego interno da Databricks. O endereço IP privado secundário é usado pelo contêiner do Spark para comunicação entre clusters. Esse modelo permite que os Databricks ofereçam isolamento entre vários compute no mesmo workspace.

Tipo de driver

O nó do driver mantém as informações de estado de todos os notebooks conectados ao site compute. O nó do driver também mantém o SparkContext, interpreta todos os comandos que o senhor executa a partir de um Notebook ou de uma biblioteca no compute, e executa o Apache Spark master que coordena com o executor do Spark.

O valor padrão do tipo de nó do driver é o mesmo que o tipo de nó do worker. Você pode escolher um tipo de nó de driver maior com mais memória se estiver planejando collect() muitos dados de workers do Spark e analisá-los no notebook.

Dica

Como o nó do driver mantém todas as informações de estado dos notebooks conectados, desanexe os notebooks não utilizados do nó do driver.

Tipos de instância de GPU

Para tarefas computacionalmente desafiadoras que exigem alto desempenho, como as associadas à aprendizagem profunda, a Databricks oferece suporte ao compute acelerado com unidades de processamento gráfico (GPUs). Para obter mais informações, consulte GPU-enabled compute.

Instâncias preemptivas

Uma instância de VM preemptiva é aquela que você pode criar e executar por um preço muito mais baixo do que as instâncias normais. No entanto, clouds do Google podem parar (antecipar) essas instâncias se exigir acesso a esses recursos para outra tarefa. As instâncias preemptivas usam o excesso de capacidade do Google compute Engine, portanto, a disponibilidade delas varia de acordo com o uso.

Ao criar um novo compute, o senhor pode habilitar instâncias de VM preemptivas de duas maneiras diferentes:

  1. Quando o senhor criar o site compute usando a interface do usuário, clique em instâncias preemptivas ao lado dos detalhes do tipoworker .

  2. Quando o senhor criar um pool de instâncias usando a interface do usuário, defina On-Demand/Preemptible como All preemptible, Preemptible with fallback GCP ou On demand GCP. Se as instâncias de VM preemptivas não estiverem disponíveis, em default o compute voltará a usar instâncias de VM sob demanda. Para configurar o comportamento de fall-back, defina gcp_attributes.gcp_availability como PREEMPTIBLE_GCP ou PREEMPTIBLE_WITH_FALLBACK_GCP. O site default é ON_DEMAND_GCP.

{
  "instance_pool_name": "Preemptible w/o fallback API test",
  "node_type_id": "n1-highmem-4",
  "gcp_attributes": {
      "availability": "PREEMPTIBLE_GCP"
  }
}

Em seguida, crie um novo compute e defina o pool para um pool de instâncias preemptivas.

Tipos de instância com SSDlocal

Para ver a lista mais recente de tipos de instância, os preços de cada uma e o tamanho do SSD local, consulte o estimador de preços do GCP.

Os tipos de instância que possuem SSD local são criptografados com a criptografia default do lado do servidor clouds do Google e usam automaticamente o cache de disco para melhorar o desempenho. Os tamanhos de cache em todos os tipos de instância são definidos automaticamente, portanto, você não precisa definir explicitamente o uso do disco.

Configure o site local SSD para sua computação

O senhor pode configurar o número de SSD locais para anexar ao seu compute quando usar a API de clusters para criar seu compute.

Para configurar o número de SSD local, defina um valor para local_ssd_count no objeto gcp_attributes. Cada tipo de instância só pode suportar um determinado número de SSD locais anexados. O valor especificado em local_ssd_count deve ser válido para o tipo de instância do driver e worker . Para obter mais informações, consulte o documento do GCP para SSD local e tipos de máquina.

Ativar autoscale

Quando a opção Enable autoscale está marcada, o senhor pode fornecer um número mínimo e máximo de trabalhadores para o site compute. Em seguida, a Databricks escolhe o número adequado de trabalhadores necessários para executar seu Job.

Para definir o número mínimo e máximo de trabalhadores que seu compute irá autoscale entre, use os campos Min worker e Max worker ao lado do tipoworker dropdown.

Se você não habilitar autoscale, inserirá um número fixo de worker no campo próximo ao worker do worker tipo de dropdown.

Observação

Quando o compute está em execução, a página de detalhes do compute exibe o número de trabalhadores alocados. O senhor pode comparar o número de trabalhadores alocados com a configuração do site worker e fazer ajustes conforme necessário.

Benefícios da autoscale

Com o dimensionamento automático, o Databricks realoca dinamicamente os workers para dar conta das características do seu job. Certas partes do seu pipeline podem ser mais exigentes computacionalmente do que outras, e o Databricks adiciona automaticamente workers adicionais durante essas fases do seu trabalho (e os remove quando não são mais necessários).

O autoscale facilita a obtenção de alta utilização porque o senhor não precisa provisionar o compute para corresponder a uma carga de trabalho. Isso se aplica especialmente a cargas de trabalho cujos requisitos mudam com o tempo (como explorar um site dataset ao longo de um dia), mas também pode se aplicar a uma carga de trabalho única e mais curta cujos requisitos de provisionamento são desconhecidos. Assim, a autoescala oferece duas vantagens:

  • As cargas de trabalho podem ser executadas mais rapidamente em comparação com um subprovisionamento de tamanho constante compute.

  • A autoescala pode reduzir os custos gerais em comparação com um tamanho estático compute.

Dependendo do tamanho constante do site compute e da carga de trabalho, o autoscale oferece ao senhor um ou ambos os benefícios ao mesmo tempo. O tamanho do compute pode ficar abaixo do número mínimo de trabalhadores selecionados quando o provedor de nuvens encerra as instâncias. Nesse caso, o Databricks tenta continuamente reprovisionar as instâncias para manter o número mínimo de trabalhadores.

Observação

O escalonamento automático não está disponível para spark-submit jobs.

Observação

compute O dimensionamento automático tem limitações ao reduzir o tamanho do cluster para cargas de trabalho de transmissão estruturada. Databricks recomenda o uso do site Delta Live Tables com autoscale aprimorado para cargas de trabalho de transmissão. Consulte Otimizar a utilização do pipeline cluster do Delta Live Tables com o Enhanced autoscale.

Como o Autoscale se comporta

workspace nos planos de preços Premium e Enterprise usa autoscale otimizado. workspace no plano de preços padrão usa autoscale padrão.

autoscale otimizada tem as seguintes características:

  • Aumenta de mínimo a máximo em 2 passos.

  • Pode reduzir a escala, mesmo que o compute não esteja parado, observando o estado do arquivo aleatório.

  • Reduz com base em uma porcentagem dos nós atuais.

  • Em Job compute, diminui se o compute for subutilizado nos últimos 40 segundos.

  • Em compute para todos os fins, reduz a escala se o compute for subutilizado nos últimos 150 segundos.

  • A propriedade de configuração spark.databricks.aggressiveWindowDownS do Spark especifica, em segundos, a frequência com que o site compute toma decisões de redução de escala. Aumentar o valor faz com que o compute diminua mais lentamente. O valor máximo é 600.

autoscale padrão é usada no workspace do plano padrão. autoscale padrão tem as seguintes características:

  • comece adicionando 8 nós. Em seguida, aumente exponencialmente, executando quantos passos forem necessários para atingir o máximo.

  • Diminui a escala quando 90% dos nós não estiverem ocupados por 10 minutos e o site compute estiver parado por pelo menos 30 segundos.

  • Reduz exponencialmente, começando com 1 nó.

autoscale com pool

Se estiver conectando o site compute a uma piscina, considere o seguinte:

  • Certifique-se de que o tamanho do compute solicitado seja menor ou igual ao número mínimo de instâncias do parado no pool. Se for maior, o tempo de compute startup será equivalente ao de compute que não usa um pool.

  • Certifique-se de que o tamanho máximo da compute seja menor ou igual à capacidade máxima da piscina. Se for maior, a criação do compute falhará.

Exemplo de Autoescale automático

Se o senhor reconfigurar um compute estático para autoscale, o Databricks redimensionará imediatamente o compute dentro dos limites mínimo e máximo e, em seguida, começará a autoescala. Como exemplo, a tabela a seguir demonstra o que acontece com o compute com um determinado tamanho inicial se o senhor reconfigurar o compute para autoscale entre 5 e 10 nós.

Tamanho inicial

Tamanho após a reconfiguração

6

6

12

10

3

5

Ativar o armazenamento local de escala automática

As instâncias do Google clouds compute podem ser complementadas com armazenamento adicional no worker nível do usando discos permanentes zonais de estado sólido.

Com o armazenamento local em escala automática, a Databricks monitora a quantidade de espaço livre em disco disponível no Spark worker do seu compute. Se um worker começar a ter muito pouco espaço em disco, o Databricks redimensionará automaticamente o SSD PD da zona antes que ele fique sem espaço em disco. Os volumes Zonal-SSD PD são anexados até um limite de 5 TB de espaço total em disco por instância (incluindo o armazenamento local da instância).

Para configurar o armazenamento autoscale , selecione Habilitar armazenamento local autoscale .

Armazenamento de provisionamento padrão

O Databricks provisiona o seguinte armazenamento para cada nó worker :

  • Um disco de inicialização por instância que é usado pelo sistema operacional do host e pelo serviço interno da Databricks. O disco de inicialização tem 100 GB para instâncias sem GPU e 200 GB para instâncias com GPU.

  • SSD local usado pelo worker Spark. Este hosted Spark . Cada SSD local tem 375 GB. Para configurar o número de SSD local conectado, consulte Tipos de instância com SSDlocal.

  • SSD remoto quando autoscale de armazenamento está ativado. Eles começam com 150 GB na criação e autoscale conforme necessário.

Criptografia de disco local

Os tipos de instância que possuem SSD local são criptografados com a criptografia default do lado do servidor clouds do Google. Consulte Tipos de instância com SSDlocal.

Encerramento automático

O senhor pode definir a terminação automática para compute. Durante a criação do compute, especifique um período de inatividade em minutos após o qual o senhor deseja que o compute seja encerrado.

Se a diferença entre a hora atual e a última execução de comando no site compute for maior do que o período de inatividade especificado, o Databricks encerrará automaticamente esse site compute. Para obter mais informações sobre o encerramento do site compute, consulte Terminate a compute.

Tags

tags permitem que o senhor monitore facilmente o custo do recurso cloud usado por vários grupos em sua organização. Especifique tags como valor-chave par quando criar compute, e Databricks aplica esses tags aos pods e volumes persistentes de Databricks Runtime no GKE cluster e aos relatórios de uso de DBU.

O gráfico de uso faturável do Databricks no console da conta pode agregar o uso por tags individuais. Os downloads de relatórios CSV de uso faturável da mesma página também incluem tags default e personalizadas. As tags também se propagam para GKE e GCE rótulo.

Para obter informações detalhadas sobre como os tipos de tags pool e compute funcionam juntos, consulte Monitorar o uso usando tags

Para adicionar tags ao seu site compute:

  1. Na seção tags , adicione um valor-chave par para cada tags personalizada .

  2. Clique em Adicionar.

Conta de serviço do Google

Para associar este compute a um serviço do Google account usando o Google Identity, clique em Advanced Options (Opções avançadas ) e adicione o endereço do serviço do Google account email no campo Google serviço account. Esse valor é usado para autenticação com o GCS e a fonte de dados do BigQuery.

Importante

A account de serviço que você usa para acessar a fonte de dados do GCS e do BigQuery deve estar no mesmo projeto que a account de serviço especificada ao configurar sua account do Databricks.

Zonas de disponibilidade

Na página de configuração do compute, em Advanced options (Opções avançadas), selecione a zona de disponibilidade do compute. Essa configuração permite que o senhor especifique qual zona de disponibilidade deseja que o compute use. Em default, a configuração da zona de disponibilidade é definida como Auto. Com uma configuração de Auto, uma única zona de disponibilidade é escolhida automaticamente para o senhor.

Você também pode escolher uma zona específica. A escolha de uma zona específica é útil principalmente se sua organização tiver adquirido instâncias reservadas em zonas de disponibilidade específicas.

Zona de alta disponibilidade

Você também pode selecionar HA como zona de disponibilidade. A alta disponibilidade (HA) é um recurso do sistema projetado para fornecer um nível consistente de tempo de atividade por períodos prolongados. Usar uma configuração de zona HA pode reduzir a probabilidade de problemas de disponibilidade de zona única, como indisponibilidade zonal ou impossibilidade de obter capacidade de instância em uma zona.

Quando HA é selecionado como zona de disponibilidade, o Databricks equilibra o posicionamento da instância nas zonas de uma região. Isto poderia levar a um aumento no preço através de taxas de saída entre zonas.

Configuração do Spark

Para fazer o ajuste fino do Spark Job, o senhor pode fornecer propriedades de configuração personalizadas do Spark.

  1. Na página de configuração compute, clique no botão de alternância Advanced Options (Opções avançadas ).

  2. Clique na Spark tab.

    Configuração do Spark

    Em Spark config, insira as propriedades de configuração como um valor-chave par por linha.

Quando o senhor configurar o site compute usando a API de clusters, defina as propriedades do Spark no campo spark_conf na API de criação de clusters ou na API de atualização de clusters.

Para impor as configurações do Spark em compute, os administradores de workspace podem usar as políticas decompute .

Recuperar uma propriedade de configuração do Spark de um segredo

A Databricks recomenda armazenar informações confidenciais, como senhas, em segredo , em vez de texto simples. Para fazer referência a um segredo na configuração do Spark, use a seguinte sintaxe:

spark.<property-name> {{secrets/<scope-name>/<secret-name>}}

Por exemplo, para definir uma propriedade de configuração do Spark chamada password para o valor do segredo armazenado em secrets/acme_app/password:

spark.password {{secrets/acme-app/password}}

Para obter mais informações, consulte Sintaxe para fazer referência a segredos em uma propriedade de configuração ou variável de ambiente do Spark.

Variáveis de ambiente

Configure a variável de ambiente personalizada que o senhor pode acessar a partir do script de inicialização em execução no site compute. Databricks também fornece variáveis de ambiente predefinidas que o senhor pode usar no script de inicialização. O senhor não pode substituir essas variáveis de ambiente predefinidas.

  1. Na página de configuração compute, clique no botão de alternância Advanced Options (Opções avançadas ).

  2. Clique na Spark tab.

  3. Defina a variável de ambiente no campo variável de ambiente .

    campo variável de ambiente

    Observação

    ENV é uma palavra reservada e não pode ser usada como nome de uma variável de ambiente.

O senhor também pode definir a variável de ambiente usando o campo spark_env_vars na API Create cluster ou na API Update cluster.

Entrega de registros de computação

Ao criar o site compute, o senhor pode especificar um local para fornecer os logs do nó do driver do Spark, dos nós worker e dos eventos. logs são entregues a cada cinco minutos e arquivados a cada hora no destino escolhido. Quando um compute é encerrado, a Databricks garante a entrega de todos os logs gerados até o encerramento do compute.

O destino do logs depende do cluster_id do compute. Se o destino especificado for dbfs:/cluster-log-delivery, compute logs para 0630-191345-leap375 será entregue a dbfs:/cluster-log-delivery/0630-191345-leap375.

Para configurar o local de entrega logs :

  1. Na página compute, clique no botão de alternância Advanced Options (Opções avançadas ).

  2. Clique na Registro tab.

  3. Selecione um tipo de destino.

  4. Digite o caminho dos registros compute.

    O caminho logs deve ser um caminho DBFS que comece com dbfs:/.

Observação

Este recurso também está disponível na API REST. Consulte a API de Clusters.