Share via


Procedure consigliate per il pool

Questo articolo illustra quali pool sono e come è possibile configurarli al meglio. Per informazioni sulla creazione di un pool, vedere Informazioni di riferimento sulla configurazione del pool.

Considerazioni sul pool

Quando si crea un pool, tenere presente quanto segue:

  • Creare pool usando i tipi di istanza e i runtime di Azure Databricks in base ai carichi di lavoro di destinazione.
  • Quando possibile, popolare i pool con istanze spot per ridurre i costi.
  • Popolare i pool con istanze su richiesta per i processi con tempi di esecuzione brevi e requisiti di tempo di esecuzione rigorosi.
  • Usare i tag del pool e i tag del cluster per gestire la fatturazione.
  • Precompilare i pool per assicurarsi che le istanze siano disponibili quando sono necessarie per i cluster.

Creare pool in base ai carichi di lavoro

Se il nodo del driver e i nodi di lavoro hanno requisiti diversi, creare un pool diverso per ognuno di essi.

È possibile ridurre al minimo il tempo di acquisizione dell'istanza creando un pool per ogni tipo di istanza e il runtime di Azure Databricks comunemente usato dall'organizzazione. Ad esempio, se la maggior parte dei cluster di progettazione dati usa il tipo di istanza A, i cluster di data science usano il tipo di istanza B e i cluster di analisi usano il tipo di istanza C, creare un pool con ogni tipo di istanza.

Configurare i pool per l'uso di istanze su richiesta per i processi con tempi di esecuzione brevi e requisiti di tempo di esecuzione rigorosi. Usare istanze su richiesta per impedire che le istanze acquisite vengano perse a un bidder più elevato sul mercato spot.

Configurare i pool per l'uso di istanze spot per i cluster che supportano lo sviluppo interattivo o i processi che assegnano priorità ai risparmi sui costi rispetto all'affidabilità.

Contrassegnare i pool per gestire i costi e la fatturazione

L'assegnazione di tag ai pool nel centro di costo corretto consente di gestire il chargeback dei costi e dell'utilizzo. È possibile usare più tag personalizzati per associare più centri di costo a un pool. Tuttavia, è importante comprendere come vengono propagati i tag quando viene creato un cluster dai pool. I tag dei pool si propagano alle istanze del provider di servizi cloud sottostanti, ma i tag del cluster non lo fanno. Applicare tutti i tag personalizzati necessari per gestire il chargeback dei costi di calcolo del provider di servizi cloud al pool.

I tag del pool e i tag del cluster vengono propagati entrambi alla fatturazione di Azure Databricks. È possibile usare la combinazione di tag del cluster e del pool per gestire il chargeback delle unità di Azure Databricks.

Per altre informazioni, vedere Monitorare l'utilizzo usando i tag.

Configurare i pool per controllare i costi

È possibile usare le opzioni di configurazione seguenti per controllare il costo dei pool:

  • Impostare le istanze di Inattività minima su 0 per evitare di pagare per le istanze in esecuzione che non funzionano. Il compromesso è un possibile aumento del tempo in cui un cluster deve acquisire una nuova istanza.
  • Impostare il tempo di terminazione automatica dell'istanza inattiva per fornire un buffer tra quando l'istanza viene rilasciata dal cluster e quando viene eliminata dal pool. Impostare questo valore su un periodo che consente di ridurre al minimo i costi garantendo al tempo stesso la disponibilità delle istanze per i processi pianificati. Ad esempio, il processo A è pianificato per l'esecuzione alle 8:00 e il completamento richiede 40 minuti. Il processo B è pianificato per l'esecuzione alle 9:00 e il completamento richiede 30 minuti. Impostare il valore di terminazione automatica dell'istanza inattiva su 20 minuti per assicurarsi che le istanze restituite al pool al termine del processo A siano disponibili all'avvio del processo B. A meno che non vengano richieste da un altro cluster, tali istanze vengono terminate 20 minuti dopo il termine del processo B.
  • Impostare la capacità massima in base all'utilizzo previsto. In questo modo viene impostato il limite massimo per il numero massimo di istanze usate e inattive nel pool. Se un processo o un cluster richiede un'istanza da un pool alla capacità massima, la richiesta ha esito negativo e il cluster non acquisisce più istanze. Di conseguenza, Databricks consiglia di impostare la capacità massima solo se è presente una quota di istanza o un vincolo di budget rigoroso.

Popolamento preliminare dei pool

Per trarre vantaggio completamente dai pool, è possibile precompilare i pool appena creati. Impostare le istanze inattive minime maggiori di zero nella configurazione del pool. In alternativa, se si segue la raccomandazione di impostare questo valore su zero, usare un processo iniziale per assicurarsi che i pool appena creati dispongano di istanze disponibili per l'accesso ai cluster.

Con l'approccio del processo iniziale, pianificare un processo con requisiti di tempo di esecuzione flessibili da eseguire prima dei processi con requisiti di prestazioni più rigorosi o prima che gli utenti inizino a usare cluster interattivi. Al termine del processo, le istanze usate per il processo vengono rilasciate nuovamente al pool. Impostare l'impostazione Istanza minima di inattività su 0 e impostare il tempo di terminazione automatica dell'istanza inattiva sufficientemente elevato per garantire che le istanze inattive rimangano disponibili per i processi successivi.

L'uso di un processo iniziale consente alle istanze del pool di avviare, popolare il pool e rimanere disponibili per i cluster interattivi o processi downstream.