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

Este artigo explica todas as configurações disponíveis na interface do usuário Criar Computação. A maioria dos usuários cria computação usando as políticas atribuídas deles, 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 trabalho, consulte Usar a computação do Azure Databricks com seus trabalhos.

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

Para configurar um cluster 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 selecionar entre a criação de um Nó único de computação ou uma computação de vários 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

Uma única computação de nó tem as seguintes propriedades:

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

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

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

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

  • A computação de nó único não foi projetada para ser compartilhada. Para evitar conflitos de recursos, o Databricks recomenda usar uma computação de vários nós quando a computação deve ser compartilhada.

  • Uma computação de vários nós não pode ser escalada para 0 funções de trabalho. Em vez disso, use uma 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 a computação e quais dados eles podem acessar por meio da computação. Cada 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. Só use o modo de acesso de usuário único se a funcionalidade necessária não tiver suporte no 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 computação existente sem um modo de acesso especificado.

Você pode atualizar uma computação existente para atender aos requisitos do Catálogo do Unity definindo seu modo de acesso para de Usuário Único ou Compartilhado.

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 o 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

A 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. Confira O que são os pools do Azure Databricks?.

Tipo de trabalho

Na computação de vários nós, os nós de trabalho executam os executores Apache Spark e outros serviços necessários para a computação em funcionamento adequada. 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 a computação não tiver nenhum trabalho, você poderá executar comandos não Spark no nó do driver, mas os comandos 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árias computação no mesmo workspace.

Tipo de driver

O nó do driver mantém informações de estado de todos os notebooks anexados à computação. O nó de driver também mantém o SparkContext, interpreta todos os comandos executados em um notebook ou biblioteca na 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 à computação acelerada 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. Além disso, quando novos nós são adicionados à computação existente, o Azure Databricks tentará adquirir instâncias spot para esses nós.

Habilitar o dimensionamento automático

Quando Habilitar o dimensionamento automático é verificado, você pode fornecer um número mínimo e máximo de trabalhos para a 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 sua computação será dimensionado automaticamente, use o Mínimo de trabalhadores e Máximo de trabalhadores campos ao lado do Tipo de trabalhador lista suspensa.

Se você não habilitar o dimensionamento automático, irá inserir um número fixo de trabalhos no campo Trabalhos ao lado da lista suspensa Tipo de trabalho.

Observação

Quando a computação está em execução, a página de detalhes de 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 uma computação subprovisionada de tamanho constante.
  • O dimensionamento automático pode reduzir os custos gerais em comparação com uma computação de tamanho estática.

Dependendo do tamanho constante da 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 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. Veja Otimize a utilização do cluster de pipelines Delta Live Tables com escalonamento automático aprimorado.

Como o dimensionamento automático se comporta

O workspace nos planos de preços Premium e Enterprise 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 a computação não esteja ociosa, examinando o estado do arquivo de embaralhamento.
  • Reduz verticalmente com base em uma porcentagem dos nós atuais.
  • Na computação do trabalho, reduz verticalmente se a computação for subutilizada nos últimos 40 segundos.
  • Na computação de todas as finalidades, reduz verticalmente se a computação for subutilizada 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 com a adição de oito 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 sua 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 uma computação estática para dimensionamento automático, o Azure Databricks redimensiona imediatamente a 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 a computação com um determinado tamanho inicial se você reconfigurar a computação para dimensionar automaticamente 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 sejam criptografados para todos os tipos de armazenamento, incluindo embaralhar dados armazenados temporariamente nos discos locais da 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 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 a computação seja encerrada.

Se a diferença entre a hora atual e a última execução de comando na computação for maior do que o período de inatividade especificado, o Azure Databricks encerrará automaticamente essa computação. Para obter mais informações sobre o encerramento de computação, consulte Encerrar uma 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 à sua 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

Conmfigure variáveis de ambiente personalizadas que podem ser acessadas de scripts de inicialização em execução na 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 cluster é terminado, o Azure Databricks garante a entrega de todos os logs gerados até que o cluster seja terminado.

O destino dos logs depende do cluster_id 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.