Configurar compute (legado)
Essas são instruções para a interface de usuário de criação de cluster herdada e estão incluídas apenas para fins de precisão histórica. Todos os clientes devem estar usando a interface de criação de cluster atualizada.
O recurso CLI não está disponível no Databricks on Google Cloud a partir desta versão.
Este artigo explica as opções de configuração disponíveis quando o senhor cria e edita o Databricks clustering. Ele se concentra na criação e edição de clustering usando a interface do usuário. Para outros métodos, consulte o Databricks CLI provedor API o provedor Databricks Terraform de clustering, e.
Para ajudar a decidir qual combinação de opções de configuração atende melhor às suas necessidades, consulte as práticas recomendadas de configuração de clustering.
política de cluster
Uma política de cluster limita a capacidade de configurar o clustering com base em um conjunto de regras. As regras de política limitam os atributos ou valores de atributos disponíveis para a criação de clusters. políticas de cluster têm ACLs que limitam seu uso a usuários e grupos específicos e, portanto, limitam as políticas que podem ser selecionadas quando o usuário cria um cluster.
Para configurar uma política de cluster, selecione a política de cluster no menu suspenso Política .
Se nenhuma política tiver sido criada no site workspace, o menu suspenso Policy (Política ) não será exibido.
Se você tiver:
- permissão de criação de cluster, o senhor pode selecionar a política Unrestricted e criar um cluster totalmente configurável. A política Unrestricted não limita nenhum atributo ou valor de atributo de clustering.
- Tanto na permissão de criação de cluster quanto no acesso à política de cluster, o senhor pode selecionar a política Unrestricted e as políticas às quais tem acesso.
- Acesso somente à política de cluster, o senhor pode selecionar as políticas às quais tem acesso.
modo de agrupamento
Databricks suporta três modos de clustering: Padrão, alta simultaneidade e nó único. O modo de clustering do default é Standard.
O senhor não pode alterar o modo de clustering depois que um clustering é criado. Se o senhor quiser um modo de clustering diferente, deverá criar um novo clustering.
A configuração de clustering inclui uma configuração de encerramento automático cujo valordefault depende do modo de clustering:
- Os clusters Standard e Single Node são encerrados automaticamente após 120 minutos pelo site default.
- cluster de alta simultaneidade não são encerrados automaticamente pelo site default.
Clusterização padrão
O clustering de modo padrão (às vezes chamado de clustering compartilhado sem isolamento) pode ser compartilhado por vários usuários, sem isolamento entre eles. Se o senhor usar o modo de cluster de alta simultaneidade sem ACLs de tabela , serão usadas as mesmas configurações do cluster de modo padrão. Os administradores de conta podem impedir que as credenciais internas sejam geradas automaticamente para os administradores do Databricks workspace nesses tipos de clustering. Para opções mais seguras, o site Databricks recomenda alternativas como o cluster de alta simultaneidade com ACLs de tabela.
Um clustering padrão é recomendado apenas para usuários individuais. O clustering padrão pode executar cargas de trabalho desenvolvidas em Python, SQL, R e Scala.
cluster de alta simultaneidade
Um cluster de alta simultaneidade é um recurso para gerenciar nuvens. As key vantagens do cluster de alta simultaneidade são o fato de oferecer um compartilhamento refinado para a utilização máxima de recursos e latências mínimas de consulta.
O cluster de alta simultaneidade pode executar cargas de trabalho desenvolvidas em SQL, Python e R. O desempenho e a segurança do cluster de alta simultaneidade são proporcionados pela execução do código do usuário em processos separados, o que não é possível em Scala.
Além disso, somente o cluster de alta simultaneidade suporta o controle de acesso à tabela.
Para criar um cluster de alta simultaneidade, defina o clustering Mode como alta simultaneidade .
Clustering de nó único
Um clustering de nó único não tem nenhum trabalhador e executa Spark o trabalho no nó do driver.
Por outro lado, um clustering Standard requer pelo menos um nó Spark worker além do nó do driver para executar o trabalho Spark.
Para criar um clustering de nó único, defina o clustering Mode como Single Node .
Para saber mais sobre como trabalhar com clustering de nó compute único, consulte.
piscina
Para reduzir o tempo de início do clustering, o senhor pode anexar um clustering a um conjunto predefinido pool de instâncias paradas. O clustering é criado usando instâncias no site pool. Se um pool não tiver parado recurso suficiente para criar o driver ou worker solicitado, o pool se expande alocando novas instâncias do provedor de instâncias. Quando um clustering anexado é encerrado, as instâncias que ele usou são devolvidas ao site pool e podem ser reutilizadas por um clustering diferente.
Consulte a referência de configuração do pool para saber mais sobre como trabalhar com o pool em Databricks.
Databricks Runtime
Databricks Os tempos de execução são o conjunto de componentes principais que são executados em seu clustering. Todos os tempos de execução do Databricks incluem o Apache Spark e adicionam componentes e atualizações que melhoram a usabilidade, o desempenho e a segurança. Para obter detalhes, consulte Databricks Runtime notas sobre as versões e a compatibilidade.
Databricks oferece vários tipos de tempos de execução e várias versões desses tipos de tempo de execução no menu suspenso Databricks Runtime Version quando o senhor cria ou edita um clustering.
Photon aceleração
Photon está disponível para clustering executando Databricks Runtime 9.1 LTS e acima.
Para habilitar a aceleração Photon, marque a caixa de seleção Usar aceleração Photon .
Se desejar, você pode especificar o tipo de instância nas listas suspensas Worker Type e Driver Type.
O senhor pode acessar view Photon atividade no Spark UI. A captura de tela a seguir mostra os detalhes da consulta DAG. Há duas indicações de Photon no DAG. Primeiro, os operadores Photon começam com "Photon", por exemplo, PhotonGroupingAgg
. Em segundo lugar, no DAG, os operadores e estágios do Photon são de cor pêssego, enquanto os que não são doPhoton são azuis.
tipo de nó de agrupamento
Um cluster consiste em um nó de driver e zero ou mais nós de worker.
Você pode escolher tipos de instância de provedor de nuvem separados para os nós driver e worker, embora por padrão o nó driver use o mesmo tipo de instância que o nó worker. Diferentes famílias de tipos de instância se adaptam a diferentes casos de uso, como cargas de trabalho com uso intensivo de memória ou de computação.
Nodo do driver
O nó do driver mantém as informações de estado de todos os notebooks anexados ao clustering. O nó driver também mantém o SparkContext e interpreta todos os comandos que o senhor executa a partir de um Notebook ou de uma biblioteca no clustering, e executa o Apache Spark master que coordena com o executor Spark.
O valor padrão do tipo de nó do driver é o mesmo que o tipo de nó do worker. Você pode escolher um tipo de nó de driver maior com mais memória se estiver planejando collect()
muitos dados de workers do Spark e analisá-los no notebook.
Como o nó do driver mantém todas as informações de estado dos notebooks conectados, desanexe os notebooks não utilizados do nó do driver.
nó de trabalho
Databricks worker nós executam o executor Spark e outros serviços necessários para o funcionamento adequado do clustering. Quando o senhor distribui sua carga de trabalho com o Spark, todo o processamento distribuído acontece nos nós do worker. Databricks execução um executor por nó worker; portanto, os termos executor e worker são usados de forma intercambiável no contexto da arquitetura Databricks.
Para executar um trabalho do Spark, você precisa de pelo menos um nó de worker. Se um cluster tiver zero workers, você poderá executar comandos não Spark no nó do driver, mas os comandos Spark falharão.
Tipos de instância de GPU
Para tarefas computacionalmente desafiadoras que exigem alto desempenho, como as associadas à aprendizagem profunda, o site Databricks suporta clustering acelerado com unidades de processamento gráfico (GPUs). Para obter mais informações, consulte GPU-enabled compute.
tipos de instância de clustering com SSD
Para ver a lista mais recente de tipos de instâncias, os preços de cada uma e o tamanho dos SSDs locais, consulte o estimador de preços do GCP.
Os tipos de instâncias que têm SSDs locais são criptografados com a criptografia padrão do lado do servidor do Google Cloud.
Os tipos de instância com SSD local usam automaticamente o cache de disco para melhorar o desempenho. Os tamanhos de cache em todos os tipos de instância são definidos automaticamente, portanto, você não precisa definir o uso do disco explicitamente.
tamanho do agrupamento e escala automática
Ao criar um cluster Databricks, você pode fornecer um número fixo de workers para o cluster ou fornecer um número mínimo e máximo de workers para o cluster.
Quando você entrega um cluster de tamanho fixo, o Databricks garante que seu cluster tenha o número especificado de workers. Quando você fornece um intervalo para o número de workers, o Databricks escolhe o número apropriado de workers necessários para executar seu job. Isso é conhecido como escalonamento automático .
Com o autoscale, o Databricks realoca dinamicamente os workers para dar conta das características do seu job. Certas partes do seu pipeline podem ser mais exigentes computacionalmente do que outras, e o Databricks adiciona automaticamente workers 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 do cluster, porque você não precisa provisionar o cluster 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 o dia), mas também pode se aplicar a uma carga de trabalho mais curta cujos requisitos de provisionamento são desconhecidos. O autoscale oferece, portanto, duas vantagens:
- As cargas de trabalho podem ser executadas mais rapidamente em comparação com um cluster subprovisionado de tamanho constante.
- Os clusters de dimensionamento automático podem reduzir os custos gerais em comparação com um cluster de tamanho estático.
Dependendo do tamanho constante do cluster e da carga de trabalho, o dimensionamento automático oferece um ou ambos os benefícios ao mesmo tempo. O tamanho do cluster pode ficar abaixo do número mínimo de workers selecionados quando o provedor de nuvem encerra as instâncias. Nesse caso, o Databricks tenta continuamente provisionar novamente as instâncias para manter o número mínimo de workers.
O autoscale não está disponível para jobs spark-submit
.
Como a autoescala se comporta
- Aumenta de mínimo a máximo em 2 passos.
- Pode reduzir a escala mesmo que o clustering não seja parado, observando o estado do arquivo shuffle.
- Reduz com base em uma porcentagem dos nós atuais.
- Em clusters de job, reduz se o cluster for subutilizado nos últimos 40 segundos.
- Em clusters multifuncionais, reduz se o cluster for subutilizado nos últimos 150 segundos.
- A propriedade de configuração
spark.databricks.aggressiveWindowDownS
do Spark especifica em segundos com que frequência um cluster toma decisões de redução de escala. Aumentar o valor faz com que um cluster seja reduzido mais lentamente. O valor máximo é 600.
Ativar e configurar a autoescala
Para permitir que Databricks redimensione seu cluster automaticamente, habilite o dimensionamento automático para o cluster e forneça o intervalo mínimo e máximo de workers.
-
Ativar Autoscale.
-
clusters todo-propósito - Na página Create clustering (Criar cluster), marque a caixa de seleção Enable autoscale (Ativar escala automática ) na caixa Autopilot Options (Opções de piloto automático ):
-
Job clustering - Na página Configure clustering (Configurar clustering), marque a caixa de seleção Enable autoscale (Ativar escala automática ) na caixa Autopilot Options (Opções de piloto automático ):
-
-
Configure os workers mínimos e máximos.
Quando o cluster está em execução, a página de detalhes do cluster exibe o número de workers alocados. Você pode comparar o número de workers alocados com a configuração do worker e fazer os ajustes necessários.
Se o senhor estiver usando um pool de instâncias:
- Certifique-se de que o tamanho do clustering solicitado seja menor ou igual ao número mínimo de instâncias parado no site pool. Se for maior, o tempo de clusterização startup será equivalente a um clustering que não usa pool.
exemplo de autoescala
Se você reconfigurar um cluster estático para ser um cluster de Autoscale, o Databricks redimensiona imediatamente o cluster dentro dos limites mínimo e máximo e, em seguida, inicia o Autoscale. Como exemplo, a tabela a seguir demonstra o que acontece com clusters com um determinado tamanho inicial se você reconfigurar um cluster para dimensionar automaticamente entre 5 e 10 nós.
Tamanho inicial | Tamanho após a reconfiguração |
---|---|
6 | 6 |
12 | 10 |
3 | 5 |
Configurações do Google Cloud
Ao configurar as instâncias do Google Cloud de um clustering, o senhor pode especificar opções específicas do Google Cloud.
Use instâncias preemptivas
Uma instância de VM preemptiva é uma instância que você pode criar e executar a um preço muito mais baixo do que as instâncias normais. No entanto, o Google Cloud pode interromper (apropriar-se de) essas instâncias se exigir acesso a esses recursos para outras tarefas. As instâncias preemptivas usam o excesso de capacidade do Google Compute Engine e, portanto, a disponibilidade varia de acordo com o uso.
Ao criar um novo clustering, o senhor pode habilitar instâncias de VM preemptivas de duas maneiras diferentes:
- Quando o senhor cria um clustering usando a interface do usuário, pode clicar em instâncias preemptivas ao lado dos detalhes do tipo de trabalhador .
- Ao criar um pool de instâncias usando a interface do usuário, o senhor pode definir On-Demand/Preemptible como All preemptible , Preemptible with fallback GCP ou On demand GCP . Se as instâncias de VM preemptivas não estiverem disponíveis, em default o clustering voltará a usar instâncias de VM sob demanda. Para configurar o comportamento de retorno, defina
gcp_attributes.gcp_availability
comoPREEMPTIBLE_GCP
ouPREEMPTIBLE_WITH_FALLBACK_GCP
. O site default éON_DEMAND_GCP
.
{
"instance_pool_name": "Preemptible w/o fallback API test",
"node_type_id": "n1-highmem-4",
"gcp_attributes": {
"gcp_availability": "PREEMPTIBLE_GCP"
}
}
Em seguida, crie um novo clustering e defina o pool para uma instância preemptiva pool.
Google serviço account
Para associar esse clustering a um serviço do Google account usando o Google Identity, clique em Advanced Options (Opções avançadas ) e adicione seu endereço do serviço do Google account email no campo Conta do serviço do Google . Esse valor é usado para autenticar com o GCS e BigQuery fonte de dados.
A conta de serviço que você usar para acessar as fontes de dados do GCS e do BigQuery deve estar no mesmo projeto que a conta de serviço especificada ao configurar sua conta do Databricks.
Criptografia de disco local
Os tipos de instância que têm SSD local são criptografados com a criptografia do lado do servidor do Google Cloud default. Consulte os tipos de instância de clustering com o site SSDlocal.
Configuração do Spark
Para ajustar Spark o Job, o Spark senhor pode fornecer propriedades personalizadas de configuração do em uma configuração de clustering.
-
Na página Configuração do cluster, clique no botão Opções avançadas .
-
Clique na tab Spark .
Na configuração do Spark , insira as propriedades de configuração como um par key-value por linha.
Quando o senhor configura um clustering usando o clustering API, defina as propriedades Spark no campo spark_conf
em Create new clustering API ou Update clustering configuration API.
Recuperar uma propriedade de configuração do Spark a partir de um segredo
Databricks recomenda o armazenamento de informações confidenciais, como senhas, em um segredo em vez de texto simples. Para fazer referência a um segredo na configuração do Spark, use a seguinte sintaxe:
spark.<property-name> {{secrets/<scope-name>/<secret-name>}}
Por exemplo, para definir uma propriedade de configuração do Spark chamada password
para o valor do segredo armazenado em secrets/acme_app/password
:
spark.password {{secrets/acme-app/password}}
Para obter mais informações, consulte gerenciar segredos.
variável de ambiente
O senhor pode configurar uma variável de ambiente personalizada que pode ser acessada a partir do script de inicialização executado em um cluster. Databricks também fornece variáveis de ambiente predefinidas que o senhor pode usar no script de inicialização. O senhor não pode substituir essas variáveis de ambiente predefinidas.
-
Na página Configuração do cluster, clique no botão Opções avançadas .
-
Clique na tab Spark .
-
Defina as variáveis de ambiente no campo Variáveis de ambiente .
O senhor também pode definir a variável de ambiente usando o campo spark_env_vars
em Create new clustering API ou Update clustering configuration API.
Etiqueta de cluster
O Cluster Tag permite que o senhor monitore facilmente o custo do recurso de nuvem usado por vários grupos da sua organização. O senhor pode especificar tags como par key-value ao criar um clustering e Databricks aplica essas tags a Databricks Runtime pods e volumes persistentes no clustering GKE e para uso em Databricks DBU relatórios de uso.
O gráfico de Databricks uso faturável do no account console pode agregar o uso por tags individuais. Os downloads dos relatórios de uso faturável CSV da mesma página também incluem default e tags personalizadas. As tags também se propagam para o rótulo GKE e GCE.
Para obter informações detalhadas sobre como os tipos pool e Cluster Tag funcionam juntos, consulte Uso de atributos usando tags.
Por conveniência, o site Databricks aplica quatro tags default a cada clustering: Vendor
, Creator
, ClusterName
e ClusterId
.
Além disso, no agrupamento de trabalhos, o site Databricks aplica duas tags default: RunName
e JobId
.
Não atribua uma tag personalizada com o endereço key Name
a um clustering. Cada clustering tem uma tag Name
cujo valor é definido por Databricks. Se o senhor alterar o valor associado a key Name
, o clustering não poderá mais ser rastreado por Databricks. Como consequência, o clustering pode não ser encerrado depois de se tornar parado e continuará a incorrer em custos de uso.
O senhor pode adicionar tags personalizadas ao criar um clustering. Para configurar a tag de cluster:
-
Na página Configuração do cluster, clique no botão Opções avançadas .
-
Na parte inferior da página, clique em Tags tab.
-
Adicione um par key-value para cada tag personalizada. Você pode adicionar até 54 tags personalizadas.
Acesso SSH ao clustering
O SSH de clustering não é compatível com esta versão.
Para um recurso relacionado, consulte execução shell comando em Databricks web terminal.
clustering log delivery
Ao criar um clustering, o senhor pode especificar um local para entregar o logs para o nó de driver Spark, nós worker e eventos. Os logs são entregues a cada cinco minutos no destino escolhido pelo senhor. Quando um clustering é encerrado, o Databricks garante a entrega de todos os logs gerados até o encerramento do clustering.
O destino do logs depende do ID do clustering. Se o destino especificado for
dbfs:/cluster-log-delivery
, o clustering logs para 0630-191345-leap375
será entregue a
dbfs:/cluster-log-delivery/0630-191345-leap375
.
Para configurar o local de entrega de log:
-
Na página Configuração do cluster, clique no botão Opções avançadas .
-
Clique na tab Logging .
-
Selecione um tipo de destino.
-
Digite o caminho do log de clustering.
O caminho do log deve ser um caminho DBFS que começa com
dbfs:/
.
Esse recurso também está disponível na API REST. Consulte a API de clusters.
script de inicialização
Uma inicialização de nó de clustering - ou script init - é um script shell que é executado durante startup para cada nó de clustering antes que o driver Spark ou worker JVM comece. O senhor pode usar o script init para instalar o pacote e a biblioteca não incluídos no tempo de execução do Databricks, modificar o classpath do sistema JVM, definir as propriedades do sistema e as variáveis de ambiente usadas pelo JVM ou modificar os parâmetros de configuração do Spark, entre outras tarefas de configuração.
É possível anexar o script de inicialização a um cluster expandindo a seção Advanced Options e clicando no script de inicialização tab.
Para obter instruções detalhadas, consulte O que são scripts de inicialização?