Recomendações de configuração de computação
Este artigo inclui recomendações e práticas recomendadas relacionadas à configuração de computação.
Se houver suporte para sua carga de trabalho, o Databricks recomenda usar a 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. Ele não requer configuração, está sempre disponível e é dimensionado de acordo com sua carga de trabalho. A computação sem servidor está disponível para notebooks, trabalhos e tabelas Delta Live. Consulte Conectar-se ao computador sem servidor.
Além disso, os analistas de dados podem usar SQL warehouses sem servidor para consultar e explorar dados no Databricks. Consulte O que são SQL Warehouses 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 que você crie 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 workspace. Confira 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 você tenha uma criação de cluster irrestrita. Os administradores do workspace só devem conceder este privilégio a usuários avançados.
As pessoas costumam pensar no tamanho da computação em termos do número de trabalhos, mas existem outros fatores importantes a considerar:
- Total de núcleos de 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 despejados no disco.
- Armazenamento local do executor: o tipo e a quantidade de armazenamento em disco local. O disco local usado principalmente no caso de despejos durante embaralhamentos e cache.
Considerações adicionais incluem o tipo e o tamanho da instância de trabalho, que também influenciam os fatores acima. Ao dimensionar sua computação, pense no seguinte:
- Quantos dados sua carga de trabalho consumirá?
- Qual é a complexidade computacional de sua carga de trabalho?
- De onde você está lendo 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 ato de balanceamento entre o número de trabalhadores e o tamanho dos tipos de instância de trabalho. Configurar a computação com dois trabalhos, cada um com 16 núcleos e 128 GB de RAM, resulta na mesma computação e memória que configurar a computação com 8 funções de trabalho, 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 para evitar e por que essas configurações não são adequadas para os tipos de carga de trabalho.
Observação
Todos os exemplos nesta seção (além do treinamento de aprendizado de máquina) podem se beneficiar do uso da computação sem servidor em vez de ativar um novo recurso de computação. Se sua carga de trabalho não for compatível com 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 exigindo 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 de disco necessária para realizar esses embaralhamentos.
Uma computação de nó único 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 dos mesmos dados repetidamente, portanto, os tipos de nós recomendados são otimizados para armazenamento com cache de disco ativado ou instâncias com armazenamento local.
Recursos adicionais recomendados para cargas de trabalho analíticas incluem:
- Habilite a terminação automática 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 de lote básico
Trabalhos simples de ETL em lote que não exigem transformações amplas, como uniõ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 trabalhadores.
ETL de lote complexo
Para um trabalho de ETL complexo, como um que requer uniões e junções em várias tabelas, a Databricks recomenda o uso de menos trabalhadores para reduzir a quantidade de dados embaralhados. Para compensar por ter menos trabalhadores, aumente o tamanho de suas instâncias.
Transformações complexas podem ser de computação intensiva. Se você observar erros significativos de derramamento em 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.
Treinamento de modelos de machine learning
Para treinar modelos de aprendizado de máquina, o 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 a experimentação inicial com o treinamento de modelos de aprendizado de máquina. Ter menos nós reduz o impacto de embaralhamentos.
Adicionar mais trabalhadores pode ajudar com a estabilidade, mas você deve evitar adicionar muitos trabalhadores devido à sobrecarga de embaralhar dados.
Os tipos de trabalhos recomendados são otimizados para armazenamento com o cache de disco ativado ou uma instância com armazenamento local para levar em conta as leituras repetidas dos mesmos dados e permitir o cache de dados de treinamento.
Entre os recursos adicionais recomendados para cargas de trabalho de machine learning estão:
- Habilite a terminação automática 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é-aprovada.
- Garanta configurações de computação consistentes usando políticas.