Partilhar via


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

Nota

A organização deste artigo pressupõe que você esteja usando a interface do usuário de computação de formulário simples. Para obter uma visão geral das atualizações de formulário simples, consulte Usar o formulário simples para gerenciar computação.

Este artigo explica as definições de configuração disponíveis ao criar um novo recurso de computação polivalente ou de trabalho. A maioria dos usuários cria recursos de computação usando suas políticas atribuídas, o que limita as configurações configuráveis. Se você não vir uma configuração específica em sua interface do usuário, é porque a política selecionada não permite que você defina essa configuração.

Para obter recomendações sobre como configurar a computação para sua carga de trabalho, consulte Recomendações de configuração de computação.

Forma de computação simples

As configurações e as ferramentas de gerenciamento descritas neste artigo aplicam-se à computação polivalente e à computação de tarefas. Para obter mais considerações sobre como configurar a computação de trabalho, consulte Configurar computação para trabalhos.

Criar um novo recurso de computação multiuso

Para criar um novo recurso de computação multiuso:

  1. Na barra lateral do espaço de trabalho, clique em Computar.
  2. Clique no botão Criar computação .
  3. Configure o recurso de computação.
  4. Clique em Criar.

Seu novo recurso de computação começará a girar automaticamente e estará pronto para uso em breve.

Política de computação

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 recursos de computação. Se um usuário não tiver o direito de criação de cluster irrestrito , ele só poderá criar recursos de computação usando suas políticas concedidas.

Para criar recursos de computação de acordo com uma política, selecione uma política no menu suspenso Política .

Por padrão, todos os usuários têm acesso à política de computação pessoal, permitindo que criem recursos de computação de máquina única. Se precisar de acesso ao Personal Compute ou a quaisquer políticas adicionais, contacte o administrador da sua área de trabalho.

Configurações de desempenho

As seguintes configurações aparecem na secção de Desempenho da interface de utilizador de cálculo do formulário simples:

Versões do Databricks Runtime

Databricks Runtime é o conjunto de componentes principais que são executados em sua computação. 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 Versões e compatibilidade das notas de versão do Databricks Runtime. Todas as versões incluem Apache Spark. A Databricks recomenda o seguinte:

  • Para computação para todos os fins, use a versão mais atual para garantir que você tenha as otimizações mais recentes e a compatibilidade mais atualizada entre seu código e pacotes pré-carregados.
  • Para trabalhos de computação que envolvam tarefas operacionais, considere usar a versão Long Term Support (LTS) do Databricks Runtime. Usar a versão LTS garantirá que você não tenha problemas de compatibilidade e possa testar completamente sua carga de trabalho antes de atualizar.
  • Para casos de uso de ciência de dados e aprendizado de máquina, considere a versão do Databricks Runtime ML.

Usar aceleração de fótons

O Photon é ativado por padrão na computação que executa o Databricks Runtime 9.1 LTS e superior.

Para ativar ou desativar a aceleração de fótons, marque a caixa de seleção Usar aceleração de fótons. Para saber mais sobre Photon, consulte O que é Photon?.

Tipo de nó de trabalho

Um recurso de computação consiste em um nó controlador e zero ou mais nós de trabalhadores. Você pode escolher tipos de instância de provedor de nuvem separados para os nós controladores e trabalhadores, embora, por padrão, o nó controlador use o mesmo tipo de instância que o nó trabalhador. A configuração do nó do driver está sob a seção de desempenho avançado .

Diferentes famílias de tipos de instância se ajustam a diferentes casos de uso, como cargas de trabalho com uso intensivo de memória ou computação. Você também pode selecionar um pool para usar como nó de trabalhador ou controlador.

Importante

Não use um pool com instâncias pontuais como o seu tipo de controlador. Selecione um tipo de controlador sob demanda para proteger o seu controlador de ser recuperado. Consulte Conectar-se a grupos.

Na computação com vários nós, os nós de trabalho executam os executores do Spark e outros serviços necessários para um recurso de computação que funciona corretamente. Quando distribui a sua carga de trabalho com o Spark, todo o processamento distribuído acontece nos nós de trabalho. Azure Databricks executa um executor por nó de trabalho. Portanto, os termos executor e worker são usados indistintamente no contexto da arquitetura Databricks.

Gorjeta

Para executar uma tarefa Spark, precisas de pelo menos um nó de trabalho. Se o recurso de computação estiver sem qualquer trabalhador, ainda poderá executar comandos não pertencentes ao Spark no nó de controlador, mas os comandos do Spark falharão.

Tipos de nós flexíveis

Se o seu espaço de trabalho tiver tipos de nós flexíveis ativados, pode usar tipos de nós flexíveis para o seu recurso de computação. Os tipos de nós flexíveis permitem que o seu recurso de computação volte a tipos de instância alternativos e compatíveis quando o tipo de instância especificado não está disponível. Este comportamento melhora a fiabilidade dos lançamentos de computação ao reduzir falhas de capacidade durante os lançamentos de computação. Veja Melhorar a fiabilidade do lançamento de computação usando tipos flexíveis de nós.

Endereços IP do nó de trabalho

O Azure Databricks lança nós de trabalho com dois endereços IP privados cada. O endereço IP privado principal do nó aloja o tráfego interno do Azure Databricks. O endereço IP privado secundário é usado pelo contêiner Spark para comunicação intra-cluster. Este modelo permite ao Azure Databricks fornecer isolamento entre múltiplos recursos de computação no mesmo espaço de trabalho.

Tipos de instância de GPU

Para tarefas computacionalmente desafiantes que exigem alto desempenho, como as associadas ao deep learning, o Azure Databricks suporta recursos de computação acelerados com unidades de processamento gráfico (GPUs). Para obter mais informações, consulte Computação habilitada para GPU.

VMs Azure de computação confidencial

Os tipos de VMs de computação confidencial do Azure impedem o acesso não autorizado a dados enquanto estão em uso, incluindo pelo operador da cloud. Esse tipo de VM é benéfico para setores e regiões altamente regulamentados, bem como para empresas com dados confidenciais na nuvem. Para mais informações sobre a computação confidencial da Azure, veja Azure computação confidencial.

Para executar as suas cargas de trabalho usando VMs de computação confidencial do Azure, selecione entre os tipos de VM da série DC ou EC nos dropdowns de nós worker e driver. Veja Opções confidenciais de VM Azure.

Computação de nó único

A caixa de seleção de nó único permite-lhe criar um recurso de computação de nó único.

A computação de nó único destina-se a trabalhos que usam pequenas quantidades de dados ou cargas de trabalho não distribuídas, como bibliotecas de aprendizado de máquina de nó único. A computação de vários nós deve ser usada para trabalhos maiores com cargas de trabalho distribuídas.

Propriedades de nó único

Um recurso de computação de nó único tem as seguintes propriedades:

  • Executa o Spark localmente.
  • O motorista atua como mestre e trabalhador, sem nós de trabalho.
  • Gera um thread de executor por núcleo lógico no recurso de computação, menos 1 núcleo para o driver.
  • Salva todas as saídas de log stderr, stdout e log4j no registo do driver.
  • Não pode ser convertido em um recurso de computação de vários nós.

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

Considere seu caso de uso ao decidir entre computação de um ou vários nós:

  • O processamento de dados em grande escala esgotará os recursos em um único nó de computação. Para essas cargas de trabalho, o Databricks recomenda o uso de computação de vários nós.

  • Um recurso de computação de vários nós não pode ser dimensionado para 0 trabalhadores. Em vez disso, use computação de nó singular.

  • O agendamento de GPU não está habilitado na computação de nó único.

  • Na computação de nó único, o Spark não pode ler arquivos do Parquet com uma coluna UDT. A seguinte mensagem de erro resulta:

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

    Para contornar esse problema, desative o leitor Parquet nativo:

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

Ativar dimensionamento automático

Quando a opção Habilitar dimensionamento automático estiver marcada, você poderá fornecer um número mínimo e máximo de trabalhadores para o recurso de computação. Em seguida, o Databricks escolhe o número apropriado de trabalhadores necessários para executar seu trabalho.

Para definir o número mínimo e máximo de trabalhadores entre os quais seu recurso de computação será dimensionado automaticamente, use os campos Min e Max ao lado da lista suspensa Tipo de trabalhador .

Se você não habilitar o dimensionamento automático, deverá inserir um número fixo de trabalhadores no campo Trabalhadores ao lado da lista suspensa Tipo de trabalhador .

Nota

Quando o recurso de computação está em execução, a página de detalhes da computação exibe o número de trabalhadores alocados. Você pode comparar o número de trabalhadores alocados com a configuração de trabalho e fazer ajustes conforme necessário.

Benefícios do dimensionamento automático

Com o autoscaling, o Azure Databricks realoca dinamicamente os trabalhadores para ter em conta as características do seu trabalho. Certas partes do seu pipeline podem ser mais exigentes computacionalmente do que outras, e o Databricks adiciona automaticamente trabalhadores adicionais durante essas fases do seu trabalho (e os remove quando não são mais necessários).

O dimensionamento automático facilita a obtenção de alta utilização porque você não precisa provisionar a computação para corresponder a uma carga de trabalho. Isso se aplica especialmente a cargas de trabalho cujos requisitos mudam ao longo do tempo (como explorar um conjunto de dados durante um dia), mas também pode se aplicar a uma carga de trabalho única mais curta cujos requisitos de provisionamento são desconhecidos. O dimensionamento automático oferece, assim, duas vantagens:

  • As cargas de trabalho podem ser executadas mais rapidamente em comparação com um recurso de computação subprovisionado de tamanho constante.
  • O dimensionamento automático pode reduzir os custos gerais em comparação com um recurso de computação de tamanho estático.

Dependendo do tamanho constante do recurso de computação e da carga de trabalho, o dimensionamento automático oferece um ou ambos os benefícios ao mesmo tempo. O tamanho da computação pode ficar abaixo do número mínimo de trabalhadores selecionados quando o provedor de nuvem encerra instâncias. Neste caso, o Azure Databricks tenta continuamente reabastecer as instâncias para manter o número mínimo de trabalhadores.

Nota

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

Nota

O ajuste automático de escala na computação tem limitações ao diminuir o tamanho do cluster para cargas de trabalho de Streaming Estruturado. A Databricks recomenda o uso do Lakeflow Spark Declarative Pipelines com dimensionamento automático aprimorado para cargas de trabalho de streaming. Consulte Otimize a utilização do cluster de pipelines declarativos do Lakeflow Spark com dimensionamento automático.

Como o dimensionamento automático se comporta

Espaços de trabalho no plano Premium utilizam o dimensionamento automático otimizado. Os espaços de trabalho no plano de tarifário padrão usam o dimensionamento automático padrão.

O dimensionamento automático otimizado tem as seguintes características:

  • Escala de min a max em 2 etapas.
  • Pode reduzir a escala, mesmo que o recurso de computação não esteja ocioso, observando o estado do arquivo de shuffle.
  • Reduz a escala com base em uma porcentagem dos nós atuais.
  • Na computação de trabalho, diminui se o recurso de computação estiver subutilizado nos últimos 40 segundos.
  • Na computação multiuso, diminui se o recurso de computação estiver subutilizado nos últimos 150 segundos.
  • A spark.databricks.aggressiveWindowDownS propriedade de configuração do Spark especifica em segundos com que frequência a computação toma decisões de redução de escala. Aumentar o valor faz com que a computação diminua mais lentamente. O valor máximo é 600.

O dimensionamento automático padrão é usado em espaços de trabalho de plano padrão. A escalação automática padrão tem as seguintes características:

  • Começa adicionando 8 nós. Em seguida, aumenta exponencialmente, dando quantos passos forem necessários para atingir o máximo.
  • Reduz quando 90% dos nós não estão ocupados por 10 minutos e o cálculo está inativo há pelo menos 30 segundos.
  • Diminui exponencialmente, começando com 1 nó.

Advertência

Não ative a Alocação Dinâmica do Apache Spark (spark.dynamicAllocation.enabled) em recursos de cálculo que utilizem o autoescalonamento Databricks. O autoscaling do Databricks gere os nós de trabalho e o ciclo de vida do executor ao nível da plataforma. Ativar a Alocação Dinâmica do Spark em paralelo pode causar decisões de escalabilidade conflitantes, levando a churn do executor, NODES_LOST erros e tarefas que nunca são detetadas.

Dimensionamento automático com grupos

Se você estiver anexando seu recurso de computação a um pool, considere o seguinte:

  • Verifique se o tamanho de computação solicitado é menor ou igual ao número mínimo de instâncias ociosas no pool. Se for maior, o tempo de inicialização da computação será equivalente à computação que não usa um pool.
  • Verifique se o tamanho máximo de computação é menor ou igual à capacidade máxima do pool. Se for maior, a criação de computação falhará.

Exemplo de dimensionamento automático

Se reconfigurar um recurso de computação estático para autoescalar, o Azure Databricks redimensiona imediatamente o recurso de computação dentro dos limites mínimos e máximos e depois começa a autoescalar. Como exemplo, a tabela a seguir demonstra o que acontece com um recurso de computação com um determinado tamanho inicial se você reconfigurar o recurso de computação para dimensionar automaticamente entre 5 e 10 nós.

Tamanho inicial Tamanho após reconfiguração
6 6
12 10
3 5

Configurações avançadas de desempenho

A seguinte configuração aparece na seção Desempenho Avançado na interface de utilizador de cálculo em formulário simples.

Instâncias Spot

Para poupar custos, pode optar por usar instâncias spot, também conhecidas como VMs Azure Spot, assinalando a caixa de seleção Instâncias Spot.

Configurar spot

A primeira instância será sempre on-demand (o nó condutor está sempre on-demand) e as instâncias subsequentes serão instâncias spot.

Se as instâncias forem despejadas devido à indisponibilidade, o Azure Databricks tentará adquirir novas instâncias spot para substituir as instâncias despejadas. Se as instâncias spot não puderem ser adquiridas, as instâncias sob demanda serão implantadas para substituir as instâncias removidas. Esse failback sob demanda só é suportado para instâncias spot que foram totalmente adquiridas e estão em execução. As instâncias pontuais que falham durante a configuração não são substituídas automaticamente.

Além disso, quando novos nós são adicionados a recursos de computação existentes, o Azure Databricks tenta adquirir instâncias spot para esses nós.

Cessação automática

Você pode definir a terminação automática para computação na seção de desempenho avançado. Durante a criação da computação, especifique um período de inatividade em minutos após o qual você deseja que o recurso de computação seja encerrado.

Se a diferença entre o tempo atual e o último comando executado no recurso de computação for maior do que o período de inatividade especificado, o Azure Databricks termina automaticamente esse recurso de computação. Para obter mais informações sobre terminação de computação, consulte Encerrar uma computação.

Tipo de controlador

Você pode selecionar o tipo de driver na seção de desempenho avançado. O nó de controlo mantém as informações de estado de todos os notebooks conectados ao recurso de computação. O nó controlador também mantém o SparkContext, interpreta todos os comandos executados a partir de um bloco de anotações ou biblioteca no recurso de computação e executa o mestre Apache Spark que coordena com os executores do Spark.

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

Gorjeta

Como o nó condutor mantém todas as informações de estado dos notebooks anexados, certifique-se de desanexar os notebooks não utilizados do nó condutor.

Etiquetas

As tags permitem que você monitore facilmente o custo dos recursos de computação usados por vários grupos em sua organização. Especifique etiquetas como pares chave-valor quando criar computação, e o Azure Databricks aplica essas etiquetas a recursos cloud como VMs e volumes de disco, bem como aos registos de utilização do Databricks.

Para computação iniciada a partir de pools, as tags personalizadas são aplicadas apenas a relatórios de uso de DBU e não se propagam para recursos de nuvem.

Para obter informações detalhadas sobre como os tipos de tag de pool e cálculo funcionam juntos, consulte Usar tags para atribuir e monitorizar o uso

Para adicionar tags ao seu recurso de computação:

  1. Na seção Tags, adicione um par chave-valor para cada tag personalizada.
  2. Clique em Adicionar.

Configurações avançadas

As seguintes configurações aparecem na seção Advanced da interface de utilizador de cálculo de formulário simples:

Modos de acesso

O modo de acesso é um recurso de segurança que determina quem pode usar o recurso de computação e os dados que eles podem acessar usando o recurso de computação. Cada recurso de computação no Azure Databricks tem um modo de acesso. As configurações do modo de acesso são encontradas na seção Advanced da interface de computação de formulário simples.

A seleção do modo de acesso é Automático por padrão, o que significa que o modo de acesso é escolhido automaticamente para você com base no Databricks Runtime selecionado. O padrão automático é Padrão , a menos que um tempo de execução de aprendizado de máquina ou um Databricks Runtimes inferior a 14.3 seja selecionado, caso em que Dedicado é usado.

O Databricks recomenda que você use o modo de acesso padrão, a menos que sua funcionalidade necessária não seja suportada.

Modo de Acesso Description Idiomas Suportados
Standard Pode ser usado por vários usuários com isolamento de dados entre usuários. Python, SQL, Scala
Dedicado Pode ser atribuído e usado por um único usuário ou grupo. Python, SQL, Scala, R

Para obter informações detalhadas sobre o suporte de funcionalidade para cada um desses modos de acesso, consulte Requisitos e limitações de computação padrão e Requisitos e limitações de computação dedicada.

Nota

No Databricks Runtime 13.3 LTS e versões superiores, scripts de inicialização e bibliotecas são suportados por todos os modos de acesso. Os requisitos e níveis de suporte variam. Consulte Onde os scripts init podem ser instalados? e Bibliotecas com Escopo de Computação.

Habilite o dimensionamento automático do armazenamento local

Muitas vezes, pode ser difícil estimar quanto espaço em disco um determinado trabalho ocupará. Para evitar que precises de estimar quantos gigabytes de disco gerido deves anexar ao teu sistema de computação durante a sua criação, o Azure Databricks ativa automaticamente o autoscaling do armazenamento local em toda a infraestrutura de computação do Azure Databricks.

Com a autoescalabilidade do armazenamento local, o Azure Databricks monitoriza a quantidade de espaço livre disponível nos trabalhadores do Spark do seu computador. Se um worker começar a ficar sem espaço no disco, o Databricks anexará automaticamente um novo disco gerido ao worker antes que ele fique sem espaço em disco. Os discos são conectados até um limite de 5 TB de espaço total em disco por máquina virtual (incluindo o armazenamento local inicial da máquina virtual).

Os discos geridos ligados a uma máquina virtual são destacados somente quando a máquina virtual é retornada ao Azure. Ou seja, os discos gerenciados nunca são separados de uma máquina virtual, desde que façam parte de uma computação em execução. Para reduzir o uso do disco gerido, o Azure Databricks recomenda usar esta funcionalidade em computação configurada com autoscaling compute ou automatic termination.

Encriptação de disco local

Importante

Esta funcionalidade está em Pré-visualização Pública.

Alguns tipos de instância que você usa para executar a computação podem ter discos conectados localmente. O Azure Databricks pode armazenar dados de embaralhamento ou dados efémeros nestes discos ligados localmente. Para garantir que todos os dados em repouso sejam criptografados para todos os tipos de armazenamento, incluindo dados aleatórios armazenados temporariamente nos discos locais do recurso de computação, você pode habilitar a criptografia de disco local.

Importante

Suas cargas de trabalho podem ser executadas mais lentamente devido ao impacto no desempenho da leitura e gravação de dados criptografados de e para volumes locais.

Quando a encriptação local do disco está ativada, o Azure Databricks gera localmente uma chave de encriptação que é única para cada nó de computação e é usada para encriptar todos os dados armazenados nos discos locais. O escopo da chave é local para cada nó de computação e é destruído junto com o próprio nó de computação. Durante o seu tempo de vida, a chave reside na memória para encriptação e desencriptação e é armazenada encriptada no disco.

Para habilitar a criptografia de disco local, você deve usar a API de Clusters. Durante a criação ou edição de computação, defina enable_local_disk_encryption como true.

Configuração do Spark

Para ajustar os trabalhos do Spark, você pode fornecer propriedades de configuração personalizadas do Spark.

  1. Na página de configuração de computação, clique na opção Avançado.

  2. Clique no separador Spark.

    Configuração do Spark

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

Ao configurar a computação usando a Clusters API, defina as propriedades do Spark no campo na spark_conf ou Update Cluster API.

Para impor as configurações do Spark na computação, os administradores do espaço de trabalho podem usar políticas de computação.

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

O Databricks recomenda armazenar informações confidenciais, como senhas, em um 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 Gerenciar segredos.

Entrega de registos de operações computacionais

Quando criar computação geral ou de tarefas, podes especificar uma localização para registros de cluster, incluindo registros do driver Spark, nós de trabalho e eventos. Os registos são entregues a cada cinco minutos e arquivados de hora a hora no destino selecionado. O Databricks continua a fornecer registos até que o recurso de computação seja terminado.

Pode armazenar registos num dos seguintes locais:

  • Volumes (recomendado): Armazena registos num caminho de volume do Unity Catalog. Esta é a opção recomendada e mais segura quando se utilizam recursos de computação habilitados pelo Unity Catalog.

Para configurar o local de entrega do log:

  1. Na página de computação, clique no botão Avançado.
  2. Clique no separador Logging.
  3. Selecione um tipo de destino.
  4. Insira o caminho do Log.

Para armazenar os logs, o Databricks cria uma subpasta no caminho de log escolhido com o nome do cluster_iddo computador.

Por exemplo, se o caminho de registo especificado for /Volumes/catalog/schema/volume, os registos de 06308418893214 serão entregues a /Volumes/catalog/schema/volume/06308418893214.

Nota

A entrega de registos a um volume é suportada apenas em computação habilitada pelo Catálogo Unity com modo de acesso Standard ou Dedicated atribuído a um utilizador. Não é suportado no modo de acesso dedicado atribuído a um grupo. Se selecionares um volume como caminho, verifica se o proprietário do recurso computacional ou o utilizador atribuído a ele tem as permissões READ VOLUME e WRITE VOLUME no volume. Consulte Privilégios para volumes do catálogo Unity.

Acesso SSH aos recursos de computação

Por razões de segurança, no Azure Databricks a porta SSH está fechada por defeito. Se quiser ativar o acesso SSH aos clusters Spark, consulte SSH para o nó do controlador.

Nota

O SSH só pode ser ativado se o seu espaço de trabalho estiver implementado na sua própria rede virtual Azure.

Variáveis de ambiente

Configure variáveis de ambiente personalizadas acessíveis a partir de scripts de inicialização que estão em execução no recurso de computação. O Databricks também fornece variáveis de ambiente predefinidas que você pode usar em scripts init. Não é possível substituir essas variáveis de ambiente predefinidas.

  1. Na página de configuração de computação, clique em Avançado.

  2. Clique no separador Spark.

  3. Defina as variáveis de ambiente no campo Variáveis de ambiente.

    Campo de Variáveis de Ambiente

Você também pode definir variáveis de ambiente usando o campo spark_env_vars ou Atualizar cluster API.