Práticas recomendadas 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 pool configuration reference.
Considerações sobre a piscina
Considere o seguinte ao criar um pool:
Crie pool usando tipos de instância e tempos de execução do Databricks com base nas cargas de trabalho de destino.
Quando possível, preencha o pool com instâncias de VM preemptivas para reduzir os custos. Use apenas o pool de VMs preemptivas como nós do worker. Seu nó de driver deve usar instâncias sob demanda.
Preencha pool com instâncias sob demanda para Job com tempos de execução curtos e requisitos rígidos de tempo de execução.
Use tags de pool e Cluster Tag para gerenciar o faturamento.
Preencha previamente pool para garantir que as instâncias estejam disponíveis quando os clusters precisarem delas.
Criar pool com base em cargas de trabalho
Você pode minimizar o tempo de aquisição de instância criando um pool para cada tipo de instância e tempo de execução do Databricks que sua organização normalmente usa. Por exemplo, se a maioria dos clusters data engineering usam o tipo de instância A, os clusters de ciência de dados usam o tipo de instância B e os clusters analíticos usam o tipo de instância C, crie um pool com cada tipo de instância.
Uso de pool de instâncias de VM preemptivas
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 de VM preemptivas para seu nó de driver. Se o senhor usar uma VM pool preemptiva para o nó worker, selecione um pool sob demanda como o tipo de driver.
Configure pool para usar instâncias sob demanda para Job com tempos de execução curtos e requisitos de tempo de execução rigorosos. Isso ocorre porque as instâncias de VM preemptivas podem ser interrompidas a qualquer momento devido a eventos do sistema.
Configure pool para usar instâncias de VM preemptivas para clusters que dão suporte ao desenvolvimento interativo ou Job que prioriza a economia de custos em vez da confiabilidade.
pool de tags para gerenciar custos e faturamento
tags pool para o centro de custo correto permite gerenciar custos e estornos de uso. Você pode usar várias tags personalizadas para associar vários centros de custo a um pool. No entanto, é importante entender como tags são propagadas quando um clusters é criado a partir de pool. As tags do pool se propagam para as instâncias subjacentes do provedor clouds , mas as tags dos clustersnão. Aplique todas as tags personalizadas necessárias para gerenciar o estorno do clouds custo do provedor compute ao pool.
As tags de pool e Cluster Tag se propagam para a cobrança do Databricks. Você pode usar a combinação de clusters e tags de pool para gerenciar o estorno de unidades do Databricks.
Para saber mais, consulte Monitorar o uso usando tags.
Configurar pool para controlar custos
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 cluster precisa adquirir uma nova instância.
...azure-aws:
You can use the following configuration options to help control the cost of pools:
- Set the [Min Idle](/compute/pools.md#minimum-idle-instances) instances to 0 to avoid paying for running instances that aren’t doing work. The tradeoff is a possible increase in time when a cluster needs to acquire a new instance.
- Set the [Max Capacity](/compute/pools.md#maximum-capacity) based on anticipated usage. This sets the ceiling for the maximum number of used and idle instances in the pool. If a job or cluster requests an instance from a pool at its maximum capacity, the request fails, and the cluster doesn't acquire more instances. Therefore, Databricks recommends that you set the maximum capacity only if there is a strict instance quota or budget constraint.
- Set the [Idle Instance Auto Termination](/compute/pools.md#idle-instance-auto-termination) time to provide a buffer between when the instance is released from the cluster and when it’s dropped from the pool. Set this to a period that allows you to minimize cost while ensuring the availability of instances for scheduled jobs. For example, job A is scheduled to run at 8:00 AM and takes 40 minutes to complete. Job B is scheduled to run at 9:00 AM and takes 30 minutes to complete. Set the Idle Instance Auto Termination value to 20 minutes to ensure that instances returned to the pool when job A completes are available when job B starts. Unless they are claimed by another cluster, those instances are terminated 20 minutes after job B ends.
Preencher previamente o pool
Para se beneficiar totalmente do pool, você pode preencher previamente pool recém-criado. Defina as instâncias mínimas do parado maiores que zero na configuração do pool. Como alternativa, se você estiver seguindo a recomendação de definir esse valor como zero, use um Job inicial para garantir que pool recém-criado tenha instâncias disponíveis para acesso dos clusters.
Com a abordagem starter Job, é possível programar um Job com requisitos flexíveis de tempo de execução para ser executado antes do Job com requisitos de desempenho mais rigorosos ou antes que os usuários comecem a usar o clusters interativo. Após o término do Job, as instâncias usadas para o Job são liberadas de volta para o pool.
Usar um Job inicial permite que as instâncias do pool sejam ativadas, preencham o pool e permaneçam disponíveis para Job downstream ou clusters interativos.