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

Este artigo explica as configurações disponíveis na interface do usuário Criar Computação. A maioria dos usuários cria recursos de computação usando suas políticas atribuídas, o que limita as configurações que podem ser realizadas. Se você não vir uma configuração específica na interface do usuário, é porque a política que você selecionou não permite que você defina essa configuração.

As configurações e as ferramentas de gerenciamento descritas neste artigo se aplicam a clusters de trabalho e de uso geral. Para obter mais considerações sobre como configurar a computação de trabalhos, confira Configurar computação para trabalhos.

Criar um recurso de computação para todos os fins

Para criar um novo recurso de computação para todos os fins:

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

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

Políticas

As políticas são um conjunto de regras usadas para limitar as opções de configuração disponíveis aos usuários quando eles criam recursos de computação. Se um usuário não tiver o direito de Criação de cluster sem restrições, ele só poderá criar recursos de computação de acordo com as 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 eles criem recursos de computação de computador único. Se você precisar de acesso à Computação Pessoal ou a quaisquer políticas adicionais, entre em contato com o administrador do workspace.

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

Dependendo da política, você pode escolher entre criar um recurso de computação de único nó ou um recurso de computação de múltiplos nós.

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 machine learning 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 único nó tem as seguintes propriedades:

  • Executa o Spark localmente.
  • O driver funciona como mestre e trabalho, sem nós de trabalho.
  • Gera um thread de executor para cada núcleo lógico no recurso de computação, menos 1 núcleo reservado para o driver.
  • Toda a saída dos logs stderr, stdout e log4j é salva no log do driver.
  • Não é possível converter em um recurso de computação de múltiplos nós.

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

Considere seu caso de uso ao decidir entre a computação de único ou múltiplos nós:

  • O processamento de dados em larga escala esgotará os recursos em um recurso de computação de único nó. Para essas cargas de trabalho, o Databricks recomenda usar a computação de múltiplos nós.

  • A computação de nó único não foi projetada para ser compartilhada. Para evitar conflitos de recursos, o Databricks recomenda o uso de um recurso de computação de múltiplos nós quando a computação precisar ser compartilhada.

  • Um recurso de computação de múltiplos nós não pode ser reduzido para 0 funções de trabalho. Em vez disso, use a computação de nó único.

  • A computação de nó único não é compatível com o isolamento do processo.

  • 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 Parquet com uma coluna UDT. Os seguintes resultados de mensagem de erro:

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

    Para resolver esse problema, desabilite 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 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.

O Databricks recomenda usar 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 Apoio UC Idiomas com suporte Observações
Um usuário Sempre Yes Python, SQL, Scala, R Pode ser atribuído e usado por um único usuário. Conhecido como modo de acesso atribuído em alguns workspaces.
Compartilhado Sempre (É necessário um Plano Premium) Yes Python (no Databricks Runtime 11.3 LTS e superior), SQL, Scala (na computação habilitada para catálogo do Unity usando o Databricks Runtime 13.3 LTS e superior) Pode ser usado por vários usuários com isolamento de dados entre os usuários.
Sem isolamento compartilhado Os administradores podem ocultar esse modo de acesso impondo o isolamento do usuário na página de configurações de administrador. Não Python, SQL, Scala, R Há uma configuração de nível de conta relacionada para computação sem isolamento compartilhado.
Personalizado Oculto (para todos os novos cálculos) Não Python, SQL, Scala, R Essa opção será mostrada somente se você tiver um recurso de computação existente sem um modo de acesso especificado.

Você pode atualizar um recurso de computação existente para atender aos requisitos do Catálogo do Unity definindo o modo de acesso dele para de Usuário Único ou Compartilhado. Para obter informações detalhadas sobre a funcionalidade com suporte em cada um desses modos de acesso em workspaces habilitados para o Catálogo do Unity, confira Limitações do modo de acesso de computação para o Catálogo do Unity.

Observação

No Databricks Runtime 13.3 LTS e superior, há suporte para scripts e bibliotecas de inicialização em todos os modos de acesso. Os requisitos e os níveis de suporte variam. Veja Onde os scripts de inicialização podem ser instalados? e Bibliotecas com escopo de cluster.

Versões do Databricks Runtime

O Databricks Runtime é o conjunto de componentes principais executados em sua computação. No menu suspenso Versão do Databricks Runtime, selecione o runtime. Para obter detalhes sobre versões específicas do Databricks Runtime, consulte versões de notas de versão do Databricks Runtime e compatibilidade. Todas as versões incluem o Apache Spark. O Databricks recomenda o seguinte:

  • Para a computação de uso geral, use a versão mais atual para garantir que você tenha as otimizações mais recentes e a compatibilidade mais atualizada entre o código e os pacotes pré-carregados.
  • Para a computação de trabalho que executa cargas de trabalho operacionais, considere usar a versão do Databricks Runtime de Suporte de Longo Prazo (LTS). O uso da 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 a aceleração do Photon

O Photon é habilitado por padrão na computação executando o Databricks Runtime 9.1 LTS e superior.

Para habilitar ou desabilitar a aceleração do Photon, marque a caixa de seleção Usar Aceleração do Photon. Para saber mais sobre o Photon, confira O que é o Photon?.

Tipos de nó do driver e trabalho

Um recurso de computação consiste em um nó de driver e zero ou mais nós de trabalho. Você pode escolher tipos de instância de provedor de nuvem diferentes para o driver e os nós de trabalho, embora, por padrão, o nó do driver use o mesmo tipo de instância que o nó de trabalho. 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 com uso intensivo de computação.

Você também pode selecionar um pool a ser usado como o nó de trabalho ou driver. Use apenas um pool com instâncias spot como o tipo de trabalho. Selecione um tipo de driver sob demanda separado para impedir que o driver seja recuperado. Confira Conectar-se a pools.

Tipo de trabalho

Na computação de vários nós, os nós de trabalho executam os executores Spark e outros serviços necessários para o funcionamento adequado do recurso de computação. Quando você distribui sua carga de trabalho com o Spark, todo o processamento distribuído ocorre nos nós de trabalho. O Azure Databricks executa um executor por nó de trabalho. Portanto, os termos executor e trabalho são usados de forma intercambiável no contexto da arquitetura do Databricks.

Dica

Para executar um trabalho do Spark, você precisará de pelo menos um nó de trabalho. Se o recurso de computação não tiver trabalhados, você pode executar comandos que não são do Spark no nó driver, mas os comandos do Spark falharão.

Endereços IP de nó de trabalho

O Azure Databricks inicializa os nós de trabalho com dois endereços IP privados cada. O endereço IP privado principal do nó hospeda o tráfego interno do Azure Databricks. O endereço IP privado secundário é usado pelo contêiner do Spark para comunicação entre clusters. Esse modelo permite que o Azure Databricks forneça isolamento entre vários recursos de computação no mesmo workspace.

Tipo de driver

O nó driver mantém as informações de estado de todos os notebooks conectados ao recurso de computação. O nó driver também mantém o SparkContext, interpreta todos os comandos executados a partir de um notebook ou uma biblioteca no recurso de computação, e executa o mestre do Apache Spark, que coordena com os executores do Spark.

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

Dica

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

Tipos de instância de GPU

Para tarefas computacionalmente desafiadoras que exigem alto desempenho, como aquelas associadas ao aprendizado profundo, o Azure Databricks dá suporte a recursos de computação acelerados com GPUs (unidades de processamento gráfico). Para obter mais informações, consulte Computação habilitada para GPU.

VMs de computação confidencial do Azure

Os tipos de VM de computação confidencial do Azure impedem o acesso não autorizado aos dados enquanto eles estão em uso, inclusive do operador de nuvem. Esse tipo de VM é benéfico para setores e regiões altamente regulamentados, bem como para empresas com dados confidenciais na nuvem. Para obter mais informações sobre computação confidencial, consulte Computação Confidencial do Azure.

Para executar suas cargas de trabalho usando VMs de computação confidencial do Azure, selecione entre os tipos de VM da série DC ou EC nas listas suspensas de nó de trabalho e driver. Consulte Opções de VM Confidencial do Azure.

Instâncias spot

Para economizar custos, você pode optar por usar instâncias spot, também conhecidas como VMs spot do Azure, marcando a caixa de seleção Instâncias spot.

Configurar spot

A primeira instância sempre será sob demanda (o nó do driver é sempre sob demanda) e as instâncias subsequentes serão instâncias spot.

Se as instâncias forem removidas devido à indisponibilidade, o Azure Databricks tentará adquirir novas instâncias spot para substituir as instâncias removidas. 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ó é compatível com instâncias spot que foram totalmente adquiridas e estão em execução. As instâncias spot que falham durante a configuração não são substituídas automaticamente.

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

Habilitar o dimensionamento automático

Quando Habilitar o dimensionamento automático está marcado, você pode fornecer um número mínimo e máximo de trabalhos para o recurso de computação. Em seguida, o Databricks escolherá o número adequado de trabalhos necessários para executar o trabalho.

Para definir o mínimo e o número máximo de trabalhos entre os qual seu recurso de computação será dimensionado automaticamente, use os campos Mínimo de trabalhados e Máximo de trabalhados ao lado da lista suspensa Tipo de trabalhado.

Se você não habilitar o dimensionamento automático, deverá inserir um número fixo de trabalhados no campo Trabalhos ao lado do menu suspenso Tipo de trabalho.

Observação

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

Benefícios do dimensionamento automático

Com o dimensionamento automático, o Azure Databricks realoca dinamicamente trabalhos para atender às características do seu trabalho. Determinadas partes do pipeline podem ser mais exigentes computacionalmente do que outras, e o Databricks adiciona automaticamente outros trabalhos durante essas fases do seu trabalho (e as remove quando não são mais necessárias).

O dimensionamento automático facilita a 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 ao longo de um dia), mas também pode se aplicar a uma carga de trabalho única e menor cujos requisitos de provisionamento sejam desconhecidos. Assim, o dimensionamento automático oferece duas vantagens:

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

Dependendo do tamanho fixo do recurso de computação e da carga de trabalho, o dimensionamento automático pode proporcionar um ou ambos esses benefícios simultaneamente. O tamanho da computação pode ficar abaixo do número mínimo de trabalhadores selecionados quando o provedor de nuvem encerrar instâncias. Nesse caso, o Azure Databricks tenta continuamente reprovisionar instâncias para manter o número mínimo de trabalhos.

Observação

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

Observação

O dimensionamento automático de computação tem limitação ao reduzir o tamanho do cluster para cargas de Fluxo Estruturado. O Databricks recomenda usar o Delta Live Tables com o Dimensionamento Automático Aprimorado para cargas de trabalho de fluxo. Consulte Otimizar a utilização do cluster de pipelines do Delta Live Tables com dimensionamento automático aprimorado.

Como o dimensionamento automático se comporta

O workspace no plano Premium usa dimensionamento automático otimizado. Os workspaces no plano de preços padrão usam o dimensionamento automático padrão.

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

  • Escala verticalmente de mínimo para máximo em duas etapas.
  • Pode reduzir verticalmente, mesmo que o recurso de computação não esteja ocioso, ao verificar o estado dos arquivos de redistribuição.
  • Reduz verticalmente com base em uma porcentagem dos nós atuais.
  • Na computação para trabalhos, reduz verticalmente se o recurso de computação estiver subutilizado nos últimos 40 segundos.
  • Na Computação para Todas as Finalidades, reduz verticalmente se o recurso de computação estiver subutilizado nos últimos 150 segundos.
  • A propriedade de configuração spark.databricks.aggressiveWindowDownS Spark especifica em segundos a frequência com que a computação toma decisões de redução. Aumentar o valor faz com que a computação reduza mais lentamente. O valor máximo é 600.

O dimensionamento automático padrão é usado em workspaces de plano padrão. O dimensionamento automático padrão tem as seguintes características:

  • Começa adicionando 8 nós. Em seguida, escala verticalmente de maneira exponencial, adotando o máximo de etapas necessárias para alcançar o máximo.
  • Reduz quando 90% dos nós não estão ocupados por 10 minutos e a computação está ociosa há pelo menos 30 segundos.
  • Reduz verticalmente de forma exponencial, começando com um nó.

Dimensionamento automático com pools

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

  • Verifique se o tamanho da 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 da computação é menor ou igual ao capacidade máxima do pool. Se for maior, a criação da computação falhará.

Exemplo de dimensionamento automático

Se você reconfigurar um recurso de computação estático para dimensionamento automático, o Azure Databricks redimensiona imediatamente o recurso de computação dentro dos limites mínimo e máximo e, em seguida, inicia o dimensionamento automático. 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 dimensionamento automático entre 5 e 10 nós.

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

Habilitar o dimensionamento automático do armazenamento local

Em geral, pode ser difícil estimar quanto espaço em disco um trabalho específico usará. Para evitar que você precise estimar quantos gigabytes de disco gerenciado anexar à sua computação no momento da criação, o Azure Databricks habilita automaticamente o dimensionamento automático do armazenamento local em toda a computação do Azure Databricks.

Com o dimensionamento automático do armazenamento local, o Azure Databricks monitora a quantidade de espaço livre em disco disponível em seus trabalhos do Spark de computação. Se um trabalho começar a ser executado com muito pouco disco, o Databricks anexará automaticamente um novo disco gerenciado ao trabalho antes que ele fique sem espaço em disco. Os discos são anexados 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 gerenciados anexados a uma máquina virtual só são desanexados quando a máquina virtual é retornada ao Azure. Ou seja, os discos gerenciados nunca são desanexados de uma máquina virtual, desde que façam parte de uma computação em execução. Para reduzir verticalmente o uso do disco gerenciado, o Azure Databricks recomenda usar esse recurso na computação configurada com de computação de dimensionamento automático ou terminação automática.

Criptografia de disco local

Importante

Esse recurso está em uma versão prévia.

Alguns tipos de instância que você usa para executar a computação podem ter discos conectados localmente. O Azure Databricks pode armazenar dados aleatórios ou efêmeros nesses discos conectados localmente. Para garantir que todos os dados inativos estejam criptografados em todos os tipos de armazenamento, incluindo os dados de redistribuição armazenados temporariamente nos discos locais do seu recurso de computação, você pode habilitar a criptografia dos discos locais.

Importante

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

Quando a criptografia de disco local está habilitada, o Azure Databricks gera uma chave de criptografia localmente que é exclusiva para cada nó de cluster e é usada para criptografar todos os dados armazenados em discos locais. O escopo da chave é local para cada nó de computação e é destruído junto com o nó de computação em si. Durante seu tempo de vida, a chave reside na memória para criptografia e descriptografia e é armazenada criptografada no disco.

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

Encerramento automático

Você pode definir a terminação automática para computação. 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 a hora atual e o último comando executado no recurso de computação for maior do que o período de inatividade especificado, o Azure Databricks encerrará automaticamente essa computação. recurso. Para mais informações sobre o encerramento de recursos de computação, consulte Encerrar um recurso de computação.

Marcações

As marcas permitem monitorar facilmente o custo dos recursos de nuvem usados por vários grupos em sua organização. Especifique marcas como pares chave-valor ao criar computação, e o Azure Databricks aplica essas marcas a recursos de nuvem, como VMs e volumes de disco, bem como relatórios de uso de DBU.

Para a computação iniciada a partir de pools, as marcas personalizadas são aplicadas apenas aos relatórios de uso do DBU e não são propagadas para recursos de nuvem.

Para obter informações detalhadas sobre como os tipos de marcação de pool e computação funcionam juntos, consulte Monitorar o uso usando marcas

Para adicionar marcas ao recurso de computação:

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

Configuração do Spark

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

  1. Na página de configuração de computação, clique na alternância Opções Avançadas.

  2. Clique na guia Spark.

    Configuração do Spark

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

Ao configurar a computação usando a da API de Clusters, defina as propriedades do Spark no campo spark_conf no campo criar de API de cluster ou Atualizar a API do cluster.

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

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

O Databricks recomenda o armazenamento de informações confidenciais, por exemplo senhas, como segredo em vez de texto não criptografado. 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 como o valor do segredo armazenado em secrets/acme_app/password:

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

Para obter mais informações, confira Sintaxe para referenciar segredos em uma variável de ambiente ou uma propriedade de configuração do Spark.

Acesso SSH à computação

Por motivos de segurança, no Azure Databricks a porta SSH está fechada por padrão. Se você quiser habilitar o acesso SSH aos clusters Apache Spark, consulte SSH para o nó de driver.

Observação

O SSH pode ser habilitado somente se o workspace for implantado em sua própria rede virtual do Azure.

Variáveis de ambiente

Configure variáveis de ambiente personalizadas que você pode acessar a partir de scripts de inicialização executados no recurso de computaçã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 na alternância Opções Avançadas.

  2. Clique na guia 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 no Criar de API de cluster ou Atualizar a API do cluster.

Entrega de log de computação

Ao criar a computação, você pode especificar um local para entregar os logs para o nó de driver do Spark, nós de trabalho e eventos. Os logs são entregues a cada cinco minutos e arquivados por hora no destino escolhido. Quando um recurso de computação é encerrado, o Azure Databricks garante a entrega de todos os logs gerados até que o recurso de computação seja encerrado.

O destino dos logs depende do cluster_id do recurso de computação. Se o destino especificado for dbfs:/cluster-log-delivery, os logs de computação para 0630-191345-leap375 serão entregues ao dbfs:/cluster-log-delivery/0630-191345-leap375.

Para configurar o local de entrega de logs:

  1. Na página de computação, clique na alternância Opções Avançadas.
  2. Clique na guia Registrar em log.
  3. Selecione um tipo de destino.
  4. Insira o caminho do log de computação.

Observação

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