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 décrit la syntaxe des modes de déploiement databricks Asset Bundle . Les bundles permettent la gestion par programmation des flux de travail Azure Databricks. Découvrez quelles sont les offres groupées de ressources Databricks ?
Dans les flux de travail CI/CD, les développeurs codent, testent, déploient et exécutent des solutions en différentes phases ou modes. Par exemple, l’ensemble de modes le plus simple inclut un mode de développement pour la validation de préproduction, suivi d’un mode de production pour les livrables validés. Les packs de ressources Databricks fournissent une collection facultative de comportements par défaut qui correspondent à chacun de ces modes. Pour utiliser ces comportements pour une cible spécifique, définissez mode ou configurez presets pour une cible dans le mappage de configuration targets. Pour plus d’informations sur targets, consultez le mappage des cibles de configuration des packs.
Mode de développement
Pour déployer votre ensemble en mode développement, commencez par ajouter le mappage mode, défini à development, vers la cible prévue. Par exemple, cette cible nommée dev est traitée comme une cible de développement uniquement :
targets:
dev:
mode: development
Le déploiement d’une cible en mode développement en exécutant la databricks bundle deploy -t <target-name> commande implémente les comportements suivants, qui peuvent être personnalisés à l’aide de présélections :
- Ajoute le préfixe
[dev ${workspace.current_user.short_name}]à toutes les ressources qui ne sont pas déployées en tant que fichiers ou notebooks, et place une étiquette Azure Databricksdevsur chaque travail et chaque pipeline déployé. - Marque tous les pipelines déclaratifs Lakeflow Spark déployés en tant que
development: true. - Permet l'utilisation de
--cluster-id <cluster-id>dans les appels associés à la commandebundle deploy, qui remplacera toutes et chacune des définitions de cluster existantes déjà spécifiées dans le fichier de configuration du bundle associé. Au lieu d’utiliser--cluster-id <cluster-id>dans les appels associés à la commandebundle deploy, vous pouvez définir le mappagecluster_idici, ou en tant que mappage enfant du mappagebundle, à l’ID du cluster à utiliser. - Met en suspens toutes les planifications et tous les déclencheurs sur les ressources déployées, comme les travaux ou les moniteurs de qualité. Définissez
schedule.pause_statussurUNPAUSEDpour annuler la mise en suspens des planifications et des déclencheurs d’un travail individuel. - Active les exécutions simultanées sur tous les travaux déployés afin d'accélérer les itérations. Définissez
max_concurrent_runssur1pour désactiver les exécutions simultanées d’un travail individuel. - Désactive le verrou de déploiement pour accélérer l’itération. Ce verrou empêche les conflits de déploiement qui sont peu susceptibles de se produire en mode de développement. Définissez
bundle.deployment.lock.enabledsurtruepour réactiver le verrou.
Mode de production
Pour déployer votre paquet en mode production, commencez par ajouter le mappage mode et le configurer en tant que production sur la cible prévue. Par exemple, cette cible nommée prod est traitée comme une cible de production :
targets:
prod:
mode: production
Le déploiement d’une cible de production en exécutant la commande databricks bundle deploy -t <target-name> implémente les comportements suivants :
Vérifie que tous les pipelines déclaratifs Lakeflow Spark déployés sont marqués
development: false.Valide que la branche GIT actuelle est égale à la branche GIT spécifiée dans la cible. La spécification d'une branche GIT dans la cible est facultative et peut être effectuée avec une propriété supplémentaire
gitcomme suit :git: branch: mainCette validation peut être remplacée en spécifiant
--forcelors du déploiement.Databricks vous recommande d’utiliser des principaux de service pour les déploiements de production. Vous pouvez l’appliquer en paramétrant
run_assur un principal de service. Consultez Principaux de service et Spécifier une identité d’exécution pour un workflow Packs de ressources Databricks. Si vous n’utilisez pas des principaux de service, prenez note des comportements supplémentaires suivants :- Valide que les mappages
artifact_path,file_path,root_pathoustate_pathne sont pas remplacés par un utilisateur spécifique. - Vérifie que les mappages
run_asetpermissionssont spécifiés pour clarifier les identités qui ont des autorisations spécifiques pour les déploiements.
- Valide que les mappages
Contrairement au comportement précédent visant à définir le mappage
modesurdevelopment, la définition du mappagemodesurproductionne permet de remplacer aucune des définitions de cluster existantes spécifiées dans le fichier de configuration du pack associé, par exemple en utilisant l’option--compute-id <cluster-id>ou le mappagecompute_id.
Préréglages personnalisés
Databricks Asset Bundles prend en charge les présélections configurables pour les cibles, ce qui vous permet de personnaliser les comportements des cibles. Les présélections disponibles sont répertoriées dans le tableau suivant :
Remarque
Sauf si une exception est spécifiée dans le tableau ci-dessous, si les deux mode et presets sont définies, les présélections remplacent le comportement du mode par défaut et les paramètres des ressources individuelles remplacent les présélections. Par exemple, si la max_concurrent_runs valeur pour un travail est 10, mais que le jobs_max_concurrent_runs préréglage est défini sur 20, le nombre maximal d'exécution simultanée du travail est de 10.
| Prédéfini | Descriptif |
|---|---|
artifacts_dynamic_version |
Indique s’il faut mettre à jour dynamiquement la version des whl artefacts pendant le déploiement. Les valeurs valides sont true ou false. Si le paramètre de configuration de niveau supérieur artifacts.dynamic_version est spécifié, il remplace cette présélection. |
jobs_max_concurrent_runs |
Nombre maximal d’exécutions simultanées autorisées pour les travaux. |
name_prefix |
Chaîne de préfixe à ajouter aux noms de ressources. |
pipelines_development |
Indique si le pipeline est en mode développement. Les valeurs valides sont true ou false. |
source_linked_deployment |
Réservé pour une utilisation ultérieure. Indique si les ressources créées pendant le déploiement pointent vers des fichiers sources dans l’espace de travail au lieu de leurs copies d’espace de travail. |
tags |
Un ensemble de balises clé-valeur qui s’appliquent à toutes les ressources prenant en charge les balises, y compris les tâches et les expériences. Les paquets d'actifs Databricks ne prennent pas en charge les balises pour la ressource schema. |
trigger_pause_status |
Un statut de pause à appliquer à tous les déclencheurs et à toutes les planifications. Les valeurs valides sont PAUSED ou UNPAUSED.Si mode est défini à development, trigger_pause_status est toujours PAUSED. |
L’exemple suivant montre une configuration de préréglages personnalisés pour l’objectif nommé dev :
targets:
dev:
presets:
name_prefix: 'testing_' # prefix all resource names with testing_
pipelines_development: true # set development to true for pipelines
trigger_pause_status: PAUSED # set pause_status to PAUSED for all triggers and schedules
jobs_max_concurrent_runs: 10 # set max_concurrent runs to 10 for all jobs
tags:
department: finance