Práticas recomendadas de configuração de computação

Este artigo descreve as recomendações para definir as configurações opcionais do site compute. Para reduzir as decisões de configuração, o site Databricks recomenda aproveitar as políticas serverless compute e compute.

  • serverless O depósito de SQL exige configuração mínima e fornece ao senhor compute sempre disponível e escalável para cargas de trabalho SQL.

  • compute As políticas permitem que o senhor crie um compute pré-configurado, projetado para casos de uso específicos, como compute pessoal, compute compartilhado, usuários avançados e trabalho. Se o senhor não tiver acesso às políticas, entre em contato com o administrador do site workspace. Consulte default policies e policy families.

Se o senhor optar por criar o site compute com suas próprias configurações, as seções abaixo fornecem recomendações para casos de uso típicos.

Observação

Este artigo pressupõe que o senhor tenha criação irrestrita do cluster. workspace Os administradores só devem conceder esse privilégio a usuários avançados.

Considerações sobre o dimensionamento do cálculo

As pessoas geralmente pensam no tamanho do compute em termos do número de funcionários, mas há outros fatores importantes a serem considerados:

  • Total de núcleos executor (compute): O número total de núcleos em todos os executores. Isso determina o paralelismo máximo de um compute.

  • 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 transferidos 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 cache.

Outras considerações incluem o tipo e o tamanho da instância worker, que também influenciam os fatores acima. Ao dimensionar seu compute, considere:

  • Quantos dados sua carga de trabalho consumirá?

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

  • De onde você está lendo os dados?

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

  • Quanto paralelismo você precisa?

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

Há um equilíbrio entre o número de trabalhadores e o tamanho dos tipos de instância do worker. A configuração do site compute com dois trabalhadores, cada um com 40 núcleos e 100 GB de RAM, tem o mesmo compute e a mesma memória que a configuração do site compute com 10 núcleos e 25 GB de RAM.

Calcular exemplos de dimensionamento

Os exemplos a seguir mostram as recomendações do site compute 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.

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. compute com um número menor de nós pode reduzir a E/S da rede e do disco necessária para realizar esses embaralhamentos.

Se o senhor estiver escrevendo apenas SQL, a melhor opção para análise de dados será um serverless SQL warehouse.

Se o senhor precisar configurar um novo compute, um compute de nó único com um tipo de VM grande provavelmente será a melhor opção, principalmente para um único analista.

As cargas de trabalho analíticas provavelmente exigirão a leitura dos mesmos dados repetidamente, portanto, os tipos de nós recomendados são otimizados para armazenamento com o cache de disco ativado.

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

  • Ative o encerramento automático para garantir que o site compute seja encerrado após um período de inatividade.

  • Considere habilitar o dimensionamento automático com base na carga de trabalho típica do analista.

  • Considere usar o pool, que permitirá restringir o compute a tipos de instância pré-aprovados e garantir configurações consistentes do compute.

ETL de lote básico

Lotes simples Os ETL trabalhos que não exigem transformações amplas, como junções ou agregações, normalmente se beneficiam compute worker dos tipos otimizados para .

computeO trabalhador otimizado tem requisitos mais baixos de memória e armazenamento e pode resultar em economia de custos em relação a outros tipos de worker.

ETL de lote complexo

Para um ETL Job complexo, como um que requer uniões e junções em várias tabelas, o Databricks recomenda reduzir o número de trabalhadores para diminuir a quantidade de dados embaralhados.

Transformações complexas podem ser compute-intensive. Se o senhor observar um derramamento significativo no disco ou erros de OOM, deverá adicionar mais nós.

Databricks recomenda os tipos compute- otimizados worker. computeO trabalhador otimizado tem requisitos menores de memória e armazenamento e pode resultar em economia de custos em relação a outros tipos de worker. Opcionalmente, use o pool para diminuir os tempos de inicialização do compute e reduzir o tempo total de execução ao executar o pipeline Job.

Modelos de machine learning de treinamento

Databricks recomenda um único nó compute com um tipo de nó grande para experimentação inicial com o treinamento modelo do aprendizado de máquina. Ter menos nós reduz o impacto dos embaralhamentos.

A adição de mais workers pode ajudar na estabilidade, mas o senhor deve evitar adicionar muitos workers devido à sobrecarga de embaralhamento de dados.

Os tipos recomendados de worker são otimizados para armazenamento com cache de disco habilitado para account para leituras repetidas dos mesmos dados e para habilitar o cache de dados de treinamento. Se as opções de compute e armazenamento fornecidas pelos nós otimizados para armazenamento não forem suficientes, considere os nós otimizados para GPU. Uma possível desvantagem é a falta de suporte a cache de disco com esses nós.

Os recursos adicionais recomendados para cargas de trabalho de machine learning incluem:

  • Ative o encerramento automático para garantir que o site compute seja encerrado após um período de inatividade.

  • Use o pool, que permitirá restringir o compute a tipos de instância pré-aprovados e garantir configurações consistentes do compute.