Optimiser l’utilisation du cluster des pipelines Delta Live Tables avec mise à l’échelle automatique améliorée
Cet article explique comment utiliser la mise à l’échelle automatique améliorée pour optimiser vos pipelines Delta Live Tables sur Azure Databricks.
La mise à l’échelle automatique améliorée est activée par défaut pour tous les nouveaux pipelines.
Pour les pipelines serverless, la mise à l’échelle automatique améliorée est toujours activée et ne peut pas être désactivée. Consultez Configurer un pipeline Delta Live Tables serverless.
Qu’est-ce que la mise à l’échelle automatique améliorée ?
La mise à l’échelle automatique améliorée Databricks optimise l’utilisation du cluster en allouant automatiquement des ressources de cluster en fonction du volume de charge de travail, avec un impact minimal sur la latence de traitement des données de vos pipelines.
La mise à l’échelle automatique améliorée améliore la fonctionnalité de mise à l’échelle automatique du cluster Azure Databricks avec les fonctionnalités suivantes :
- La mise à l’échelle automatique améliorée implémente l’optimisation des charges de travail de streaming et ajoute des améliorations pour améliorer les performances des charges de travail par lots. La mise à l’échelle automatique améliorée optimise les coûts en ajoutant ou en supprimant des machines à mesure que la charge de travail change.
- La mise à l’échelle automatique améliorée arrête de manière proactive les nœuds sous-utilisés tout en garantissant qu’aucune tâche n’a échoué pendant l’arrêt. La fonctionnalité de mise à l’échelle automatique du cluster existante met à l’échelle les nœuds uniquement si le nœud est inactif.
La mise à l’échelle automatique améliorée est le mode de mise à l’échelle automatique par défaut lorsque vous créez un pipeline dans l’interface utilisateur Delta Live Tables. Vous pouvez activer la mise à l’échelle automatique améliorée 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 Delta Live Tables.
Quelles métriques utilisent la mise à l’échelle automatique améliorée pour prendre une décision de scale-up ou de scale-down ?
La mise à l’échelle automatique améliorée utilise deux métriques pour décider d’un scale-up ou d’un scale-down :
- Utilisation des emplacements de tâche : 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 la mise à l’échelle automatique améliorée pour un pipeline Delta Live Tables
La mise à l’échelle automatique améliorée est le mode de mise à l’échelle automatique par défaut lorsque vous créez un pipeline dans l’interface utilisateur Delta Live Tables. Vous pouvez activer la mise à l’échelle automatique améliorée 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 un pipeline avec l’API Delta Live Tables.
Pour utiliser la mise à l’échelle automatique améliorée, effectuez l’une des opérations suivantes :
- Définissez le mode cluster sur La mise à l’échelle automatique améliorée lors de la création ou de la modification d’un pipeline dans l’interface utilisateur Delta Live Tables.
- Ajoutez le paramètre
autoscale
à la configuration du cluster de pipeline et définissez le champmode
surENHANCED
. Consultez Configurer le calcul pour un pipeline Delta Live Tables.
Utilisez les instructions suivantes lors de la configuration de la mise à l’échelle automatique améliorée pour les pipelines de production :
- Conservez le paramètre
Min workers
par défaut. - Définissez le paramètre
Max workers
sur une valeur en fonction du budget et de la priorité du pipeline.
L’exemple suivant configure un cluster de mise à l’échelle 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
.
Remarque
- La mise à l’échelle automatique améliorée est disponible uniquement pour
updates
les clusters. La mise à l’échelle automatique héritée est utilisée pourmaintenance
les clusters. - La configuration
autoscale
contient deux modes :LEGACY
: utiliser la mise à l’échelle automatique du cluster.ENHANCED
: Utilisez la mise à l’échelle automatique améliorée.
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
Si le pipeline est configuré pour l’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 courte période d’augmentation de la latence. Après cette brève période d’augmentation de la latence, la taille du cluster doit être mise à jour en fonction de votre autoscale
configuration et la latence du pipeline doit revenir à ses caractéristiques de latence précédentes.
Limiter les coûts des pipelines qui utilisent la mise à l’échelle automatique améliorée
Remarque
Vous ne pouvez pas configurer les workers pour les pipelines serverless.
La définition du paramètre Max Workers dans le volet Calcul des pipelines définit une limite supérieure pour la mise à l’échelle automatique. La réduction du nombre de workers disponibles peut augmenter la latence pour certaines charges de travail, mais empêche les coûts de ressources de calcul de s’éclater pendant les opérations nécessitant beaucoup de ressources de calcul.
Databricks recommande de paramétrer les paramètres Max Workers pour équilibrer le compromis de latence des coûts pour vos besoins particuliers.
Surveiller la mise à l’échelle automatique améliorée avec des pipelines classiques activés
Vous pouvez utiliser le journal des événements dans l’interface utilisateur Delta Live Tables pour surveiller les métriques de mise à l’échelle automatique améliorées pour les pipelines classiques. Les événements de mise à l’échelle automatique améliorés ont le type d’événement autoscale
. Voici des exemples d’événements :
Événement | Message |
---|---|
Demande de redimensionnement de cluster lancée | Scaling [up or down] to <y> executors from current cluster size of <x> |
Demande de redimensionnement de cluster réussie | Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED |
Demande de redimensionnement de cluster partiellement réussie | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
Demande de redimensionnement de cluster échouée | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
Vous pouvez également afficher des événements de mise à l’échelle automatique améliorée en interrogeant directement le journal des événements :
- Pour interroger le journal des événements concernant les métriques du backlog, consultez Surveiller le backlog de données en interrogeant le journal des événements.
- Pour surveiller le redimensionnement des demandes et des réponses du cluster pendant les opérations de mise à l’échelle automatique améliorées, consultez Surveiller les événements de mise à l’échelle automatique améliorée à partir du journal des événements pour les pipelines sans activation serverless.