Recomendações de configuração de computação
Este artigo inclui recomendações e práticas recomendadas relacionadas à configuração de computação.
Se sua carga de trabalho for suportada, o Databricks recomenda o uso de computação sem servidor em vez de configurar seu próprio recurso de computação. A computação sem servidor é a opção de computação mais simples e confiável. Não requer configuração, está sempre disponível e é dimensionado de acordo com a sua carga de trabalho. A computação sem servidor está disponível para notebooks, trabalhos e tabelas Delta Live. Consulte Conectar-se à computação sem servidor.
Além disso, os analistas de dados podem usar armazéns SQL sem servidor para consultar e explorar dados no Databricks. Consulte O que são armazéns SQL sem servidor?.
Usar políticas de computação
Se você estiver criando uma nova computação do zero, o Databricks recomenda o uso de políticas de computação. As políticas de computação permitem criar recursos de computação pré-configurados projetados para fins específicos, como computação pessoal, computação compartilhada, usuários avançados e trabalhos. As políticas limitam as decisões que você precisa tomar ao definir as configurações de computação.
Se você não tiver acesso às políticas, entre em contato com o administrador do espaço de trabalho. Consulte Políticas padrão e famílias de políticas.
Considerações sobre dimensionamento de computação
Nota
As recomendações a seguir pressupõem que você tenha criação irrestrita de cluster. Os administradores do espaço de trabalho só devem conceder esse privilégio a usuários avançados.
As pessoas geralmente pensam no tamanho do cálculo em termos do número de trabalhadores, mas há outros fatores importantes a considerar:
- Total de núcleos executores (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 a quantidade de dados que podem ser armazenados na memória antes de vazá-los 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 derramamentos durante embaralhamentos e cache.
Considerações adicionais incluem o tipo e o tamanho da instância do trabalhador, que também influenciam os fatores acima. Ao dimensionar sua computação, 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?
- De quanto paralelismo você precisa?
Responder a essas perguntas ajudará você a determinar as configurações de computação ideais com base em cargas de trabalho.
Há um equilíbrio entre o número de trabalhadores e o tamanho dos tipos de instância de trabalho. Configurar computação com dois trabalhadores, cada um com 16 núcleos e 128 GB de RAM, tem a mesma computação e memória que configurar computação com 8 trabalhadores, cada um com 4 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.
Nota
Todos os exemplos nesta seção (além do treinamento de aprendizado de máquina) poderiam se beneficiar do uso de computação sem servidor em vez de criar um novo recurso de computação. Se sua carga de trabalho não for suportada no serverless, use as recomendações abaixo para ajudar a configurar seu recurso de computação.
Análise de dados
Os analistas de dados normalmente executam o processamento que requer dados de várias partições, levando a muitas operações de embaralhamento. Um recurso de computação com um número menor de nós maiores pode reduzir a E/S de rede e disco necessária para executar esses embaralhamentos.
Uma computação de nó único com um tipo de VM grande é provavelmente a melhor escolha, particularmente para um único analista.
As cargas de trabalho analíticas provavelmente exigirão a leitura dos mesmos dados repetidamente, portanto, os tipos de nó recomendados são o armazenamento otimizado com cache de disco habilitado ou instâncias com armazenamento local.
Os 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 dimensionamento automático com base na carga de trabalho típica do analista.
ETL em lote básico
Trabalhos de ETL em lote simples que não exigem grandes transformações, 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.
Instâncias com requisitos mais baixos de memória e armazenamento podem resultar em economia de custos em relação a outros tipos de trabalho.
ETL em lote complexo
Para um trabalho de ETL complexo, como um que requer sindicatos e se junta em várias tabelas, a Databricks recomenda o uso de menos trabalhadores para reduzir a quantidade de dados embaralhados. Para compensar ter menos trabalhadores, aumente o tamanho de suas instâncias.
Transformações complexas podem ser intensivas em termos de computação. Se você observar erros significativos de derramamento para disco ou OOM, aumente a quantidade de memória disponível em suas instâncias.
Opcionalmente, use pools para diminuir os tempos de inicialização de computação e reduzir o tempo de execução total ao executar pipelines de trabalho.
Treinar modelos de aprendizagem automática
Para treinar modelos de aprendizado de máquina, a Databricks recomenda a criação de um recurso de computação usando a política de computação pessoal.
Você deve usar uma computação de nó único com um tipo de nó grande para experimentação inicial com modelos de aprendizado de máquina de treinamento. Ter menos nós reduz o impacto dos embaralhamentos.
Adicionar mais trabalhadores pode ajudar na estabilidade, mas você deve evitar adicionar muitos trabalhadores devido à sobrecarga de embaralhar dados.
Os tipos de trabalho recomendados são armazenamento otimizado com cache de disco habilitado ou uma instância com armazenamento local para contabilizar leituras repetidas dos mesmos dados e habilitar o cache de dados de treinamento.
Recursos adicionais recomendados para cargas de trabalho de aprendizado de máquina incluem:
- Habilite o encerramento automático para garantir que a computação seja encerrada após um período de inatividade.
- Use pools, que permitirão restringir a computação ao tipo de instância pré-aprovado.
- Garanta configurações de computação consistentes usando políticas.