Aller au contenu principal

Meilleures pratiques de Pool

Cet article explique ce que sont les pools et comment vous pouvez les configurer au mieux. Pour des informations sur la création d'un pool, consultez la référence de configuration du pool.

Considérations relatives au Pool

Considérez les éléments suivants lors de la création d'un pool :

  • Créez des Pool à l’aide de types d’instances et de Databricks Runtime basés sur les charges de travail cibles.
  • Lorsque cela est possible, renseignez les pools avec des instances de VM préemptables pour réduire les coûts. Utilisez uniquement des Pools de VM préemptibles comme nœuds Worker. Votre nœud driver devrait utiliser des instances à la demande.
  • Remplissez les pools avec des instances à la demande pour les jobs ayant des temps d'exécution courts et des exigences strictes en matière de temps d'exécution.
  • Utilisez des tags de Pool et des Cluster Tag pour gérer la facturation.
  • Pré-remplissez les Pools pour vous assurer que les instances sont disponibles lorsque les clusters en ont besoin.

Créez des Pools basés sur les charges de travail

Vous pouvez minimiser le temps d'acquisition des instances en créant un pool pour chaque type d'instance et Databricks Runtime que votre organisation utilise couramment. Par exemple, si la plupart des clusters de Data Engineering utilisent le type d'instance A, les clusters de Data Science utilisent le type d'instance B, et les clusters d'analytique utilisent le type d'instance C, créez un Pool avec chaque type d'instance.

Utilisation des pools d'instances de VM préemptables

Si votre nœud Driver et vos nœuds Worker ont des exigences différentes, utilisez des Pools différents pour chacun.

Databricks recommande de ne pas utiliser d'instances de VM préemptibles pour votre nœud de Driver. Si vous utilisez un Pool de VM préemptible pour votre nœud Worker, sélectionnez un Pool à la demande comme votre **type de Driver**.

Configurez les pools pour qu’ils utilisent des instances à la demande pour les Jobs avec des temps d’exécution courts et des exigences strictes en matière de temps d’exécution. C'est parce que les instances de VM préemptibles peuvent être arrêtées à tout moment en raison d'événements système.

Configurez les pools pour utiliser des instances de machines virtuelles (VM) préemptibles pour les clusters qui prennent en charge le développement interactif ou les jobs qui privilégient les économies de coûts plutôt que la fiabilité.

Taguer les Pool pour gérer les coûts et la facturation

Le taggage des pools au centre de coûts approprié vous permet de gérer la refacturation des coûts et de l'utilisation. Vous pouvez utiliser plusieurs tags personnalisés pour associer plusieurs centres de coûts à un pool. Il est toutefois important de comprendre comment les tags sont propagés lorsqu'un cluster est créé à partir de pools. Les tags des pools se propagent aux instances du fournisseur cloud sous-jacent, mais pas les tags du cluster. Appliquez tous les tags personnalisés requis pour gérer la refacturation du coût du compute du fournisseur cloud au pool.

Pool tags et Cluster tags se propagent tous deux à la facturation Databricks. Vous pouvez utiliser la combinaison de tags de cluster et de pool pour gérer la refacturation des unités Databricks.

Pour en savoir plus, consultez Utiliser des tags pour attribuer et suivre l'utilisation.

Configurez les Pools pour contrôler les coûts

Pour aider à contrôler le coût des Pools, définissez les instances Min Idle sur 0 pour éviter de payer pour les instances en cours d'exécution qui ne travaillent pas. Le compromis est une augmentation possible du temps lorsqu’un cluster doit acquérir une nouvelle instance.

Pré-remplir les Pools

Pour bénéficier pleinement des pools, vous pouvez pré-remplir les pools nouvellement créés. Définissez le nombre d'instances Minimales inactives supérieur à zéro dans la configuration du pool. Autrement, si vous suivez la recommandation de définir cette valeur à zéro, utilisez un Job de démarrage pour vous assurer que les pools nouvellement créés ont des instances disponibles pour que les clusters puissent y accéder.

Avec l'approche de Job de démarrage, planifiez un Job avec des exigences de temps d'exécution flexibles à exécuter avant les Jobs ayant des exigences de performances plus strictes ou avant que les utilisateurs ne commencent à utiliser des clusters interactifs. Une fois le Job terminé, les instances utilisées pour le Job sont libérées vers le Pool.

L'utilisation d'un job de démarrage permet aux instances du pool de démarrer, de remplir le pool et de rester disponibles pour les jobs en aval ou les clusters interactifs.