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.

Observação

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 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 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.

  • 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.

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 pool para usar instâncias sob demanda para Job com tempos de execução curtos e requisitos de tempo de execução rigorosos. Use instâncias sob demanda para evitar que as instâncias adquiridas sejam perdidas para um licitante com lance mais alto no mercado spot.

Configure pool para usar instâncias spot 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

...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 Job inicial, programe um Job com requisitos de tempo de execução flexíveis para ser executado antes Job com requisitos de desempenho mais rigorosos ou antes que os usuários comecem a usar clusters interativos. Após a conclusão do Job , as instâncias usadas para o Job são liberadas de volta para o pool. Defina a configuração Min parado instance como 0 e defina o tempo de encerramento automático da instância do parado alto o suficiente para garantir que as instâncias do parado permaneçam disponíveis para Job subsequente.

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.