melhores práticas para piscinas
Este artigo explica o que são os pools e como o senhor pode configurá-los melhor. Para obter informações sobre como criar um pool, consulte a referência de configuração do pool.
Se sua carga de trabalho for compatível com serverless compute, Databricks recomenda o uso de serverless compute em vez de pool para aproveitar as vantagens do compute sempre ativo e escalável. Consulte Conectar-se a serverless compute .
considerações sobre a piscina
Considere o seguinte ao criar um pool:
- Crie um pool usando tipos de instância e tempos de execução Databricks com base nas cargas de trabalho de destino.
- Quando possível, preencha o pool com instâncias pontuais para reduzir os custos. Use apenas o pool de pontos como nós do worker. Seu nó de driver deve usar instâncias sob demanda.
- Preencher o pool com instâncias sob demanda para trabalhos com tempos de execução curtos e requisitos rigorosos de tempo de execução.
- Use as tags pool e a Cluster Tag para gerenciar o faturamento.
- Preencher previamente o pool para garantir que as instâncias estejam disponíveis quando o clustering precisar delas.
Criar pool com base nas cargas de trabalho
O senhor pode minimizar o tempo de aquisição de instâncias criando um pool para cada tipo de instância e tempo de execução do Databricks que sua organização costuma usar. Por exemplo, se a maior parte do clustering de engenharia de dados usar o tipo de instância A, o clustering de ciência de dados usar o tipo de instância B e o clustering analítico usar o tipo de instância C, crie um pool com cada tipo de instância.
Usando o pool de instâncias pontuais
Se o nó do driver e os nós do worker tiverem requisitos diferentes, use um pool diferente para cada um.
A Databricks recomenda não usar instâncias pontuais para o nó do driver. Se o senhor usar um spot pool para o nó worker, selecione um pool on-demand como tipo de driver .
Configure o pool para usar instâncias sob demanda para trabalhos com tempos de execução curtos e requisitos rigorosos de tempo de execução. Use instâncias sob demanda para evitar que instâncias adquiridas sejam perdidas para um licitante com lance mais alto no mercado à vista.
Configure o pool para usar instâncias pontuais para clustering que ofereçam suporte ao desenvolvimento interativo ou a trabalhos que priorizem a economia de custos em relação à confiabilidade.
Tag pool para gerenciar custos e faturamento
A marcação do pool no centro de custo correto permite que o senhor gerencie o custo e o estorno de uso. O senhor pode usar várias tags personalizadas para associar vários centros de custo a um pool. No entanto, é importante entender como as tags são propagadas quando um clustering é criado a partir do pool. As tags do pool se propagam para as instâncias do provedor de nuvem subjacente, mas as tags do clustering não. Aplique todas as tags personalizadas necessárias para gerenciar o estorno do custo do provedor de nuvem compute para o pool.
As tags de pool e a tag de cluster se propagam para Databricks billing. O senhor pode usar a combinação de clustering e tags pool para gerenciar o chargeback das unidades Databricks.
Para saber mais, consulte Uso de atributos usando tags.
Configurar o pool para controlar o custo
O senhor pode usar as seguintes opções de configuração para ajudar a controlar o custo do pool:
- Defina Min parado instances como 0 para evitar pagar por instâncias em execução que não estão funcionando. A compensação é um possível aumento no tempo quando um clustering precisa adquirir uma nova instância.
- Defina a capacidade máxima com base no uso previsto. Isso define o teto para o número máximo de instâncias usadas e paradas no site pool. Se um trabalho ou clustering solicitar uma instância de um pool em sua capacidade máxima, a solicitação falhará e o clustering não adquirirá mais instâncias. Portanto, a Databricks recomenda que o senhor defina a capacidade máxima somente se houver uma cota estrita de instância ou restrição orçamentária.
- Defina o tempo de terminação automática da instância parada para fornecer um buffer entre o momento em que a instância é liberada do clustering e o momento em que ela é descartada do site pool. Defina isso para um período que permita minimizar o custo e, ao mesmo tempo, garantir a disponibilidade de instâncias para o trabalho agendado. Por exemplo, o trabalho A está programado para ser executado às 8:00 AM e leva 40 minutos para ser concluído. Job B está programado para ser executado às 9:00 AM e leva 30 minutos para ser concluído. Defina o valor parado Instance Auto Termination como 20 minutos para garantir que as instâncias retornadas ao pool quando o trabalho A for concluído estejam disponíveis quando o trabalho B começar. A menos que sejam reivindicadas por outro clustering, essas instâncias são encerradas 20 minutos após o término do Job B.
Preencher previamente o pool
Para se beneficiar totalmente do pool, o senhor pode preencher previamente o pool recém-criado. Defina as instâncias de Min parado como maiores que zero na configuração pool. Como alternativa, se o senhor estiver seguindo a recomendação de definir esse valor como zero, use um trabalho inicial para garantir que o pool recém-criado tenha instâncias disponíveis para o clustering acessar.
Com a abordagem de trabalho inicial, é possível programar um trabalho com requisitos flexíveis de tempo de execução para ser executado antes de um trabalho com requisitos de desempenho mais rigorosos ou antes que os usuários comecem a usar o clustering interativo. Após a conclusão do trabalho, as instâncias usadas para o trabalho são liberadas de volta para o site pool. Defina a configuração da instância mínima do parado como 0 e defina o tempo de terminação automática da instância do parado alto o suficiente para garantir que as instâncias do parado permaneçam disponíveis para o trabalho subsequente.
O uso de um Job inicial permite que as instâncias do pool sejam ativadas, preencham o pool e permaneçam disponíveis para o Job downstream ou para o clustering interativo.