Recomendações de configuração de computação

Este artigo inclui recomendações e práticas recomendadas relacionadas à configuração do site compute.

Se a sua carga de trabalho for compatível, Databricks recomenda usar serverless compute em vez de configurar seu próprio recurso compute. O compute sem servidor é a opção mais simples e confiável do compute. Ele não requer configuração, está sempre disponível e é escalonado de acordo com sua carga de trabalho. serverless compute está disponível para Notebook, Job e Delta Live Tables. Consulte Conectar-se a serverless compute .

Além disso, o analista de dados pode usar o warehouse serverless SQL para consultar e explorar dados em Databricks. Consulte O que é um armazém sem servidor SQL?.

Usar políticas de computação

Se o senhor estiver criando um novo compute do zero, a Databricks recomenda o uso de políticas compute. As políticas de computação permitem que o senhor crie um recurso compute pré-configurado, projetado para fins específicos, como compute pessoal, compute compartilhado, usuários avançados e trabalho. As políticas limitam as decisões que o senhor precisa tomar ao configurar o site compute.

Se o senhor não tiver acesso às políticas, entre em contato com o administrador do site workspace. Consulte políticas padrão e famílias de políticas.

Considerações sobre o dimensionamento da computação

Observação

As recomendações a seguir pressupõem que o senhor tenha criação irrestrita do site cluster. Os administradores do workspace só devem conceder esse privilégio a usuários avançados.

As pessoas geralmente pensam no tamanho do compute em termos do número de workers, mas há outros fatores importantes a considerar:

  • Núcleos totais do executor (computação): o número total de núcleos em todos os executores. Isso determina o paralelismo máximo de uma computação.

  • Memória total do executor: a quantidade total de RAM em todos os executores. Isso determina quantos dados podem ser armazenados na memória antes de serem vazados para o disco.

  • Armazenamento local do executor: o tipo e a quantidade de armazenamento em disco local. O disco local é usado principalmente no caso de vazamentos durante embaralhamentos e armazenamento em cache.

Considerações adicionais incluem tipo e tamanho da instância do worker, que também influenciam os fatores acima. Ao dimensionar sua computação, considere:

  • Quantos dados sua carga de trabalho consumirá?

  • Qual é a complexidade computacional de sua carga de trabalho?

  • De onde você está lendo os dados?

  • Como os dados são particionados no armazenamento externo?

  • De quanto paralelismo você precisa?

Responder a essas perguntas ajudará a determinar as configurações ideais de compute com base nas cargas de trabalho.

Há um ato de equilíbrio entre o número de workers e o tamanho dos tipos de instâncias de workers. Configurar a computação com dois workers, cada um com 16 núcleos e 128 GB de RAM, tem a mesma computação e memória que configurar a computação com oito workers, cada um com quatro núcleos e 32 GB de RAM.

Exemplos de configuração de computação

Os exemplos a seguir mostram recomendações de computação com base em tipos específicos de cargas de trabalho. Esses exemplos também incluem configurações a serem evitadas e por que essas configurações não são adequadas para os tipos de carga de trabalho.

Observação

Todos os exemplos desta seção (além do machine learning treinamento) poderiam se beneficiar do uso do serverless compute em vez de criar um novo compute recurso. Se sua carga de trabalho não for compatível com serverless, use as recomendações abaixo para ajudar a configurar seu recurso compute.

Análise de dados

O analista de dados normalmente realiza o processamento que requer dados de várias partições, o que leva a muitas operações de embaralhamento. Um recurso compute com um número menor de nós maiores pode reduzir a E/S da rede e do disco necessária para realizar esses embaralhamentos.

Um nó único compute com um tipo de VM grande é provavelmente a melhor opção, especialmente para um único analista.

As cargas de trabalho analíticas provavelmente exigirão a leitura repetida dos mesmos dados, portanto, os tipos de nós recomendados são armazenamento otimizado com cache de disco ativado ou instâncias com armazenamento local.

Recursos adicionais recomendados para cargas de trabalho analíticas incluem:

  • Habilite o encerramento automático para garantir que a computação seja encerrada após um período de inatividade.

  • Considere habilitar o autoscale com base na carga de trabalho típica do analista.

ETL de lote básico

Lotes simples ETL Os trabalhos que não exigem transformações amplas, como junções ou agregações, normalmente se beneficiam do Photon. Portanto, selecione uma instância de uso geral que ofereça suporte ao Photon.

As instâncias com requisitos mais baixos de memória e armazenamento podem resultar em economia de custos em relação a outros tipos de worker.

ETL de lote complexo

Para um trabalho complexo do ETL, como um que requer uniões e junções em várias tabelas, o Databricks recomenda o uso de menos trabalhadores para reduzir a quantidade de dados embaralhados. Para compensar o fato de ter menos trabalhadores, aumente o tamanho de suas instâncias.

Transformações complexas podem ser compute-intensive. Se você observar erros significativos de vazamento no disco ou de OOM, aumente a quantidade de memória disponível em suas instâncias.

Opcionalmente, use pools para diminuir o tempo de lançamento do compute e reduzir o tempo total de execução ao executar pipelines de jobs.

Modelos do machine learning de treinamento

Para ensinar o modelo do machine learning, Databricks recomenda a criação de um recurso compute usando a política Personal compute.

O senhor deve usar um único nó compute com um tipo de nó grande para a experimentação inicial com o treinamento modelo do machine learning. Ter menos nós reduz o impacto dos embaralhamentos.

Adicionar mais workers pode ajudar na estabilidade, mas deve-se evitar adicionar muitos workers devido ao overhead de shuffles de dados.

Os tipos recomendados de worker são armazenamento otimizado com cache de disco ativado ou uma instância com armazenamento local para account para leituras repetidas dos mesmos dados e para ativar o cache de dados de treinamento.

Recursos adicionais recomendados para cargas de trabalho do machine learning incluem:

  • Habilite o encerramento automático para garantir que a computação seja encerrada após um período de inatividade.

  • Use o pool, que permitirá restringir o compute ao tipo de instância pré-aprovado.

  • Garanta configurações consistentes do compute usando políticas.