Optimisez l'utilisation des clusters LakeFlow Pipelines avec l'autoscaling
L'autoscaling amélioré optimise l'utilisation du cluster LakeFlow Pipelines en ajoutant et en supprimant automatiquement du compute à mesure que le volume de travail change, avec un impact minimal sur la latence de traitement des données.
Le dimensionnement automatique amélioré est activé par default pour tous les nouveaux pipelines. Les pipelines Serverless utilisent également un dimensionnement automatique vertical. Voir Qu'est-ce que le dimensionnement automatique vertical ?.
Pour les pipelines serverless, le dimensionnement automatique amélioré est toujours activé et ne peut pas être désactivé. Consultez Configurer un pipeline serverless.
Qu'est-ce que le dimensionnement automatique amélioré ?
L'autoscaling amélioré de Databricks optimise l'utilisation des clusters en allouant automatiquement des ressources de cluster en fonction du volume de la charge de travail, avec un impact minimal sur la latence de traitement des données de vos pipelines.
Le dimensionnement automatique amélioré améliore la fonctionnalité de mise à l'échelle automatique des clusters Databricks avec les fonctionnalités suivantes :
- L'autoscaling amélioré optimise les charges de travail de streaming et ajoute des améliorations pour augmenter les performances des charges de travail par batch. L'autoscaling amélioré optimise les coûts en ajoutant ou en supprimant des machines en fonction de l'évolution de la charge de travail.
- Le dimensionnement automatique amélioré arrête préventivement les nœuds sous-utilisés tout en garantissant l'absence de tâches échouées pendant l'arrêt. La fonctionnalité existante de dimensionnement automatique des clusters réduit le nombre de nœuds uniquement si le nœud est inactif.
Le dimensionnement automatique amélioré est le mode de dimensionnement automatique default lorsque vous créez un nouveau pipeline dans l'interface utilisateur des pipelines. Vous pouvez activer le dimensionnement automatique amélioré pour les pipelines existants en modifiant les paramètres du pipeline dans l'interface utilisateur. Vous pouvez également activer la mise à l'échelle automatique améliorée lorsque vous créez ou modifiez des pipelines avec l'API REST des pipelines.
Quelles métriques l'autoscaling amélioré utilise-t-il pour prendre une décision de mise à l'échelle supérieure ou inférieure ?
La mise à l'échelle automatique améliorée utilise deux métriques pour décider de l'augmentation ou de la réduction de l'échelle :
- Utilisation des emplacements de tâches : Il s'agit du ratio moyen entre le nombre d'emplacements de tâches occupés et le nombre total d'emplacements de tâches disponibles dans le cluster .
- Taille de la file d'attente des tâches : Il s'agit du nombre de tâches en attente d'exécution dans les emplacements de tâches.
Activer le dimensionnement automatique amélioré pour un pipeline
Le dimensionnement automatique amélioré est le mode de dimensionnement automatique default lorsque vous créez un nouveau pipeline dans l'interface utilisateur des pipelines. Vous pouvez activer le dimensionnement automatique amélioré pour les pipelines existants en modifiant les paramètres du pipeline dans l'interface utilisateur. Vous pouvez également activer le dimensionnement automatique amélioré lorsque vous modifiez un pipeline avec l'Éditeur Lakeflow Pipelines.
Pour utiliser le dimensionnement automatique amélioré, effectuez l'une des opérations suivantes :
- Définissez le mode de cluster sur mise à l'échelle automatique améliorée lors de la modification des paramètres de pipeline dans l'éditeur LakeFlow Pipelines.
- Ajoutez le paramètre
autoscaleà la configuration du cluster de pipeline et définissez le champmodesurENHANCED. Consultez Configurer le compute classique pour les pipelines.
Utilisez les lignes directrices suivantes lors de la configuration du dimensionnement automatique amélioré pour les pipelines de production :
- Laissez le paramètre
Min workersdefault. - Définissez le paramètre
Max workersà une valeur basée sur le budget et la priorité du pipeline.
L'exemple suivant configure un cluster de dimensionnement automatique amélioré avec un minimum de 5 workers et un maximum de 10 workers. max_workers doit être supérieur ou égal à min_workers.
- Le dimensionnement automatique amélioré est disponible uniquement pour les
updatesclusters. Le dimensionnement automatique hérité est utilisé pour lesmaintenanceclusters. - La configuration
autoscalecomporte deux modes :LEGACY: Utilisez la mise à l'échelle automatique des clusters.ENHANCED: utiliser le dimensionnement automatique amélioré.
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
Si le pipeline est configuré pour une exécution continue, il est automatiquement redémarré après la modification de la configuration de la mise à l'échelle automatique. Après le redémarrage, attendez-vous à une brève période de latence accrue. Après cette brève période de latence accrue, la taille du cluster devrait être mise à jour en fonction de votre configuration autoscale, et la latence du pipeline devrait retrouver ses caractéristiques de latence précédentes.
Limiter les coûts des pipelines qui utilisent le dimensionnement automatique amélioré
Vous ne pouvez pas configurer de Workers pour les pipelines Serverless.
La définition du **workers** **parameter** dans le volet **Compute** des **pipeline** définit une limite supérieure pour le dimensionnement automatique. La réduction du nombre de workers disponibles pourrait augmenter la latence pour certaines charges de travail, mais empêche les coûts des Ressources compute de monter en flèche pendant les Opérations gourmandes en compute.
Databricks recommande d'ajuster les paramètres de nombre maximal de Worker pour équilibrer le compromis coût-latence en fonction de vos besoins particuliers.

Surveiller les pipelines classiques avec autoscaling amélioré activé
Vous pouvez utiliser le journal des événements dans l'interface utilisateur du pipeline pour surveiller les métriques d'autoscaling améliorées pour les pipelines classiques. Les événements de dimensionnement automatique amélioré ont le autoscale type d'événement. Voici des exemples d'événements :
Événement | Message |
|---|---|
Demande de redimensionnement de cluster start |
|
La demande de redimensionnement du cluster a réussi |
|
La demande de redimensionnement du cluster a partiellement abouti. |
|
La demande de redimensionnement du cluster a échoué |
|
Vous pouvez également afficher les événements de mise à l'échelle automatique améliorée en interrogeant directement le log d'événements:
- Pour query les Logs pour les métriques de backlog, consultez Surveiller le backlog de données pour optimiser la durée de streaming.
- Pour surveiller les requêtes et les réponses de redimensionnement de cluster pendant les opérations de mise à l'échelle automatique améliorées, consultez Surveiller les événements de mise à l'échelle automatique pour optimiser le compute classique.
Qu'est-ce que le dimensionnement automatique vertical ?
Les pipelines Serverless s'ajoutent au dimensionnement automatique horizontal fourni par le dimensionnement automatique amélioré de Databricks en allouant automatiquement les types d'instances les plus rentables qui peuvent exécuter votre pipeline sans échouer en raison d'erreurs de mémoire insuffisante. Le dimensionnement automatique vertical redimensionne à la hausse lorsque des types d'instances plus grands sont requis pour exécuter une mise à jour de pipeline et redimensionne également à la baisse lorsqu'il détermine que la mise à jour peut être exécutée avec des types d'instances plus petits. Le dimensionnement automatique vertical détermine si les nœuds driver, les nœuds worker, ou les deux, doivent être redimensionnés à la hausse ou à la baisse.
L'autoscaling vertical est utilisé pour tous les pipelines serverless, y compris les pipelines utilisés par les vues matérialisées et les tables de streaming autonomes.
La mise à l'échelle automatique verticale fonctionne en détectant les mises à jour de pipeline qui ont échoué en raison d'erreurs de mémoire insuffisante. La mise à l'échelle automatique verticale alloue des types d'instances plus grands lorsque ces échecs sont détectés, en fonction des données de mémoire insuffisante collectées lors de la mise à jour ayant échoué. Pour les mises à jour qui utilisent un comportement de nouvelle tentative et de redémarrage automatiques, une nouvelle mise à jour utilisant les nouvelles ressources de compute est démarrée automatiquement. Pour les mises à jour ad hoc qui utilisent un comportement de démarrage rapide axé sur le debugging, les nouvelles ressources de compute sont utilisées lorsque vous start manuellement une nouvelle mise à jour.
Si le dimensionnement automatique vertical détecte que la mémoire des instances allouées est constamment sous-utilisée, il réduit le type d’instances à utiliser lors de la prochaine mise à jour du pipeline.