Referência de configuração de computação
Este artigo explica as definições de configuração 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 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 Configurar computação para trabalhos.
Criar um novo recurso de computação multiuso
Para criar um novo recurso de computação multiuso:
- Na barra lateral do espaço de trabalho, clique em Computar.
- Clique no botão Criar computação .
- Configure o recurso de computação.
- Clique em Criar computação.
Seu novo recurso de computação começará a girar 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 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.
Computação de nó único ou de vários nós
Dependendo da política, você pode selecionar entre criar um recurso de computação de nó único ou um recurso de 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 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
stderr
saídas ,stdout
elog4j
log no log 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 recurso de computação de nó. Para essas cargas de trabalho, o Databricks recomenda o uso de 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 um recurso de computação de vários nós quando a computação deve ser compartilhada.
Um recurso de computação de vários nós não pode ser dimensionado para 0 trabalhadores. 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 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 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 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 | 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 Unity Catalog definindo seu modo de acesso como Usuário Único ou Compartilhado. Para obter informações detalhadas sobre a funcionalidade suportada por cada um desses modos de acesso em espaços de trabalho habilitados para Unity Catalog, consulte Limitações do modo de acesso de computação para o Unity Catalog.
Nota
No Databricks Runtime 13.3 LTS e superior, scripts init 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 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
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 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. Use apenas um pool com instâncias spot como seu tipo de trabalho. Selecione um tipo de driver sob demanda separado para evitar que o driver seja recuperado. Consulte Conectar-se a pools.
Tipo de trabalhador
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. 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 o recurso de 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. Esse modelo permite que o Azure Databricks forneça isolamento entre vários recursos de computação 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 recurso de computação. O nó do driver 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ó 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 a recursos de computação que são acelerados 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 .
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. 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.
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 workers e Max workers 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 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 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. 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 melhorado 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 no plano Premium usa o 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 o recurso de computação não esteja ocioso, observando o estado do arquivo aleatório.
- 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. O dimensionamento automático 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.
- 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 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 você reconfigurar um recurso de computação estático para dimensionamento automático, o Azure Databricks redimensionará imediatamente o recurso de 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 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 |
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 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 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 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 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 ao seu recurso de computação:
- Na seção Tags, adicione um par chave-valor para cada tag personalizada.
- Clique em Adicionar.
Configuração do Spark
Para ajustar os trabalhos do Spark, você pode fornecer propriedades de configuração personalizadas do Spark.
Na página de configuração de computação, clique no botão Opções Avançadas.
Clique na guia Faísca .
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 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.
Na página de configuração de computação, clique no botão Opções Avançadas.
Clique na guia Faísca .
Defina as variáveis de ambiente no 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 um recurso de computação é encerrado, o Azure Databricks garante entregar todos os logs gerados até que o recurso de computação seja encerrado.
O destino dos logs depende do recurso de cluster_id
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 do log:
- Na página de computação, clique no botão Opções Avançadas.
- Clique na guia Log .
- Selecione um tipo de destino.
- Insira o caminho do log de computação.
Nota
Esse recurso também está disponível na API REST. Consulte a API de Clusters.