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

Este artigo explica todas as definições de configuração disponíveis na interface do usuário Criar computação. A maioria dos usuários cria 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.

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

Para criar 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.

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

Dependendo da política, você pode selecionar entre criar uma computação de nó único ou uma computação de nó múltiplo.

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 único nó de computação 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 na computação, menos 1 núcleo para o driver.
  • Salva todas as stderrsaídas , stdoute log4j log no log do driver.
  • Não pode ser convertido em uma computação de vários nós.

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

Considere seu caso de uso ao decidir entre uma computação de um único 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, o 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 o uso de 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 dimensionada para 0 trabalhadores. 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 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)
    

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 que você 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 suportada pelo modo de acesso compartilhado.

Modo de Acesso Visível para o utilizador Suporte UC Idiomas Suportados Notas
Utilizador único Sempre Sim Python, SQL, Scala, R Pode ser atribuído e usado por um único usuário. Conhecido como Modo de acesso atribuído em alguns espaços de trabalho.
Partilhado Sempre (plano Premium necessário) Sim Python (no Databricks Runtime 11.3 LTS e superior), SQL, Scala (na computação habilitada para Unity Catalog usando o Databricks Runtime 13.3 LTS e superior) Pode ser usado por vários usuários com isolamento de dados entre 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 relacionada no nível da conta para a computação Sem Isolamento Compartilhado.
Personalizado Oculto (para todos os novos cálculos) Não Python, SQL, Scala, R Esta opção é 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 Unity Catalog definindo seu modo de acesso como Usuário único ou Compartilhado.

Nota

No Databricks Runtime 13.3 LTS e superior, scripts init e bibliotecas são suportados em todos os modos de acesso. Os requisitos e o suporte variam. Consulte Onde os scripts init podem ser instalados? e Bibliotecas com escopo de cluster.

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 computação de trabalho executando cargas de trabalho operacionais, considere usar a versão de tempo de execução do Databricks de Suporte de Longo Prazo (LTS). 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?.

Tipos de nó de trabalhador e driver

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 separados para os nós de driver e de trabalho, embora, por padrão, o nó de 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 computação.

Você também pode selecionar um pool para usar como nó de trabalho ou driver. Consulte O que são pools do Azure Databricks?.

Tipo de trabalhador

Na computação de vários nós, os nós de trabalho executam os executores do Spark e outros serviços necessários para o funcionamento adequado da computação. Quando você distribui sua carga de trabalho com o Spark, todo o processamento distribuído acontece em nós de trabalho. O Azure Databricks é executado num executor por nó de trabalho. Portanto, os termos executor e worker são usados indistintamente no contexto da arquitetura Databricks.

Gorjeta

Para executar um trabalho do Spark, você precisa de pelo menos um nó de trabalho. Se a computação tiver zero trabalhadores, você poderá executar comandos que não sejam do Spark no nó do driver, mas os comandos do Spark falharão.

Endereços IP do nó de trabalho

O Azure Databricks inicia nós de trabalho com dois endereços IP privados cada. O endereço IP privado primário do nó hospeda 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 que o Azure Databricks forneça isolamento entre vários cálculos no mesmo espaço de trabalho.

Tipo de driver

O nó do driver mantém as informações de estado de todos os notebooks conectados ao computador. O nó do driver também mantém o SparkContext, interpreta todos os comandos executados a partir de um bloco de anotações ou de uma biblioteca na 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ó do driver mantém todas as informações de estado dos blocos de anotações conectados, certifique-se de desanexar os blocos de anotações 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 unidades de processamento gráfico (GPUs). 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 a computação confidencial do Azure, consulte Computação confidencial do Azure.

Para executar suas cargas de trabalho usando VMs de computação confidenciais do Azure, selecione entre os tipos de VM da série DC ou EC nos menus suspensos 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 será sempre sob demanda (o nó do driver está 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.

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 a 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 sua computação será dimensionada automaticamente, use os campos Min workers e Max workers ao lado da lista suspensa Tipo de trabalhador .

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

Nota

Quando a 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 dimensionamento automático, o Azure Databricks realoca dinamicamente os trabalhadores para levar 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 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ático.

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 encerra instâncias. Nesse caso, o Azure Databricks tenta continuamente reprovisionar instâncias para manter o número mínimo de trabalhadores.

Nota

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

Nota

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

How autoscaling behaves (Como se comporta o dimensionamento automático)

O espaço de trabalho nos planos de preços Premium e Enterprise usa dimensionamento automático otimizado. Os espaços de trabalho no plano de preços padrão usam o dimensionamento automático padrão.

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

  • Aumenta de min a max em 2 passos.
  • Pode reduzir, mesmo que a computação não esteja ociosa, observando o estado do arquivo aleatório.
  • Reduz a escala com base em uma porcentagem dos nós atuais.
  • Na computação de trabalho, reduz a escala se a computação for subutilizada nos últimos 40 segundos.
  • Na computação multiuso, reduz a escala se a computação estiver subutilizada 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. O dimensionamento automático padrão tem as seguintes características:

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

Dimensionamento automático com pools

Se você estiver anexando sua 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 você reconfigurar uma computação estática para dimensionamento automático, o Azure Databricks redimensionará imediatamente a computação dentro dos limites mínimo e máximo e, em seguida, iniciará 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 reconfiguração
6 6
12 10
3 5

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 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 monitoriza a quantidade de espaço livre em disco disponível nos trabalhadores do Spark da sua computação. Se um trabalhador começar a ficar muito baixo no disco, o Databricks anexará automaticamente um novo disco gerenciado ao trabalhador 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 gerenciados anexados a uma máquina virtual são desanexados 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 gerenciado, o Azure Databricks recomenda o uso desse recurso na computação configurada com computação de dimensionamento automático ou terminação automática.

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 aleatórios ou dados efêmeros nesses discos anexados 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 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 da leitura e gravação de dados criptografados de e para 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 computação 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 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.

Cessação automática

Você pode definir 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 o último comando executado 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 terminação de computação, consulte Encerrar uma computação.

Etiquetas

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

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 pool e compute funcionam juntos, consulte Monitorar o uso usando tags

Para adicionar tags à sua computação:

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

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 no botão Opções Avançadas.

  2. Clique na guia Faísca .

    Configuração do Spark

    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 API de Clusters, defina as propriedades do spark_conf Spark no campo Criar API de cluster ou Atualizar API de cluster.

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 segredo em vez de texto sem formatação. 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 referenciar segredos em uma propriedade de configuração do Spark ou variável de ambiente.

Acesso SSH à computação

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

Nota

O SSH só pode ser habilitado se seu espaço de trabalho 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 em execução na 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 no botão Opções Avançadas.

  2. Clique na guia Faísca .

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

    Campo Variáveis de Ambiente

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

Entrega de logs de computação

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

O destino dos logs depende do cálculo cluster_id. 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 do log:

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

Nota

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