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.