Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article contient des recommandations et des ressources pour la configuration des ressources de calcul pour les jobs Lakeflow.
Important
Les limitations du calcul serverless pour les projets sont les suivantes :
- Il n'y a pas de prise en charge pour la planification continue.
- Aucune prise en charge des déclencheurs d’intervalle par défaut ou basés sur le temps dans Structured Streaming.
Pour plus de restrictions, voir Restrictions de l'informatique sans serveur.
Chaque projet peut comporter une ou plusieurs tâches. Définissez des ressources de calcul pour chaque tâche. Plusieurs tâches définies pour le même projet peuvent utiliser la même ressource de calcul.
Quel est le calcul recommandé pour chaque tâche ?
Le tableau suivant indique les types de capacité de calcul recommandés et pris en charge pour chaque type de tâche.
Remarque
Le calcul serverless pour les projets présente des limitations et ne prend pas en charge toutes les charges de travail. Consultez Limitations de l'informatique sans serveur.
| Tâche | Calcul recommandé | Ressources de calcul prises en charge |
|---|---|---|
| Blocs-notes | Tâches serverless | Jobs sans serveur, jobs classiques, tâches classiques à usage universel |
| Script en Python | Tâches serverless | Projets serverless, projets classiques, à usage universel classique |
| Roue Python | Tâches serverless | Projets serverless, projets classiques, à usage universel classique |
| SQL | Entrepôt SQL sans serveur | Entrepôt SQL sans serveur, entrepôt SQL pro |
| Pipelines déclaratifs Lakeflow Spark | Pipeline sans serveur | Le pipeline serverless, le pipeline classique |
| dbt | Entrepôt SQL sans serveur | Entrepôt de données SQL serverless, entrepôt de données SQL pro |
| Commandes CLI dbt | Tâches serverless | Tâches sans serveur, tâches classiques, tâches classiques à usage polyvalent |
| JARRE | Projets classiques | Travaux classiques, tout usage classique |
| Soumission Spark | Projets classiques | Projets classiques |
La tarification des travaux Lakeflow est liée au calcul utilisé pour exécuter des tâches. Pour plus d’informations, consultez Tarification Databricks.
Comment faire pour configurer la capacité de calcul pour les projets ?
Le calcul des travaux classiques est configuré directement à partir de l’interface utilisateur des travaux Lakeflow, et ces configurations font partie de la définition du travail. Tous les autres types de capacité de calcul disponibles stockent leurs configurations avec d’autres ressources d’espace de travail. Le tableau suivant fournit plus de détails :
| Type de capacité de calcul | Détails |
|---|---|
| Calcul des tâches classiques | Vous configurez la capacité de calcul pour les projets classiques à l’aide de la même IU et des mêmes paramètres que ceux disponibles pour le calcul à usage général. Consultez Informations de référence sur la configuration de calcul. |
| Calculs serverless pour les tâches | Le calcul serverless pour les projets constitue la valeur par défaut pour toutes les tâches qui le prennent en charge. Databricks gère les paramètres de capacité de calcul pour le calcul serverless. Consultez Exécuter vos travaux Lakeflow avec un calcul serverless pour les flux de travail. |
| Entrepôts de données SQL | Les entrepôts SQL serverless et pro sont configurés par les administrateurs de l’espace de travail ou les utilisateurs disposant de privilèges de création de groupement illimités. Vous configurez les tâches à exécuter sur des entrepôts SQL existants. Consultez Se connecter à un entrepôt SQL. |
| Calcul des pipelines déclaratifs Lakeflow Spark | Vous configurez les paramètres de calcul pour les pipelines déclaratifs Spark Lakeflow pendant la configuration du pipeline. Consultez Configurer le calcul classique pour les pipelines. Azure Databricks gère les ressources de calcul pour les pipelines déclaratifs Spark Lakeflow serverless. Voir Configurer un pipeline serverless. |
| Calcul à usage général | Vous pouvez éventuellement configurer des tâches à l’aide du calcul à usage général classique. Databricks ne recommande pas cette configuration pour les projets de production. Consultez Référence de configuration de capacité de calcul et Le calcul à usage général doit-il être utilisé pour les projets ? |
Partager la capacité de calcul entre les tâches
Configurez les tâches pour utiliser les mêmes ressources de calcul afin d'optimiser l'utilisation des ressources avec des tâches qui orchestrent plusieurs tâches. Le partage de la capacité de calcul entre les tâches peut réduire la latence associée aux temps de démarrage.
Vous pouvez utiliser une seule ressource de capacité de calcul pour exécuter toutes les tâches qui font partie du projet ou plusieurs ressources optimisées pour des charges de travail spécifiques. Toute capacité de calcul configurée dans le cadre d’un projet est disponible pour toutes les autres tâches du projet.
Le tableau suivant met en évidence les différences entre la capacité de calcul du projet configurée pour une seule tâche et la capacité de calcul du projet partagé entre plusieurs tâches :
| Une seule tâche | Partagée entre les tâches | |
|---|---|---|
| Démarrer | Lorsque l’exécution de la tâche commence. | Lorsque la première exécution de tâche configurée pour utiliser la ressource de capacité de calcul commence. |
| Terminer. | Une fois la tâche exécutée. | Après l’exécution de la dernière tâche configurée pour utiliser la ressource de calcul. |
| Calcul inactif | Non applicable. | La ressource de calcul reste activée et en veille pendant que les tâches qui n'utilisent pas cette ressource s'exécutent. |
Un cluster de travail partagé est limité à une seule exécution de travail et ne peut pas être utilisé par d’autres travaux ou d’autres exécutions du même travail.
Les bibliothèques ne peuvent pas être déclarées dans la configuration d’un cluster de travail partagé. Vous devez ajouter des bibliothèques dépendantes dans les paramètres de tâche.
État du pilote partagé entre les tâches
Lorsque plusieurs tâches partagent une ressource de calcul des tâches, les tâches s’exécutent sur la même JVM du pilote. L’état de la classe et les singletons persistent entre les tâches pendant la durée de l’exécution du travail. Pour la plupart des charges de travail, cela est transparent, mais tenez compte des implications suivantes :
- Les singletons Scala et les objets compagnons sont partagés à travers les tâches. L’état mutable dans un objet complémentaire Scala persiste entre les tâches qui s’exécutent sur le même cluster partagé. Si des tâches parallèles lisent ou écrivent dans la même variable d’objet complémentaire, la valeur d’une tâche peut remplacer celle d’une autre. Pour obtenir un exemple de travail, consultez l’article De la Base de connaissances sur les flux de travail multi-tâches utilisant des valeurs de paramètre incorrectes.
- Les bibliothèques chargées par une tâche restent disponibles pour les tâches suivantes pendant la durée de l’exécution du travail.
Si votre code nécessite une isolation au niveau des tâches, utilisez l’une des approches suivantes :
- Configurez chaque tâche pour utiliser une ressource de calcul de travaux distincte.
- Ajoutez des dépendances de tâche explicites afin que les tâches s’exécutent de manière séquentielle plutôt qu’en parallèle.
- Refactorisez le code pour éviter de compter sur l’état mutable singleton ou partagé. Par exemple, transmettez explicitement des paramètres à chaque fonction au lieu de les lire à partir d’un objet complémentaire.
Réviser, configurer et échanger les travaux de calcul
La section Capacité de calcul dans le panneau Détails de projet répertorie toutes les capacités de calcul configurées pour les tâches du projet en cours.
Les tâches configurées pour utiliser une ressource de capacité de calcul sont mises en évidence dans le graphique de tâche lorsque vous passez sur la spécification de capacité de calcul.
Utilisez le bouton Basculer pour modifier la capacité de calcul pour toutes les tâches associées à une ressource de capacité de calcul.
Les ressources de capacité de calcul des tâches classiques disposent d’une option Configurer. D’autres ressources de capacité de calcul vous permettent de consulter et de modifier les détails de configuration de la capacité de calcul.
Plus d’informations
Pour plus d’informations sur la configuration des travaux classiques Azure Databricks, consultez les meilleures pratiques pour la configuration des travaux Lakeflow classiques.