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.
Databricks Asset Bundles vous permet de spécifier des informations sur les ressources Azure Databricks utilisées par le bundle dans le mappage resources dans la configuration de l’offre groupée. Consultez la cartographie des ressources ainsi que les références clés des ressources .
Cette page fournit des informations de référence sur la configuration pour tous les types de ressources pris en charge pour les offres groupées et fournit des détails et un exemple pour chaque type pris en charge. Pour obtenir d’autres exemples, consultez les exemples de configuration du Bundle .
Le schéma JSON pour les bundles utilisés pour valider la configuration YAML se trouve dans le référentiel GitHub de l’interface CLI Databricks.
Tip
Pour générer YAML pour n’importe quelle ressource existante, utilisez la commande databricks bundle generate. Consultez l’offre groupée databricks générée.
Ressources prises en charge
Le tableau suivant répertorie les types de ressources pris en charge pour les bundles (YAML et Python, le cas échéant). Certaines ressources peuvent être créées en les définissant dans un bundle et en déployant le bundle, et certaines ressources peuvent uniquement être créées en référençant une ressource existante à inclure dans le bundle.
La configuration des ressources définit un objet Databricks qui correspond à un objet API REST Databricks . Les champs de demande de création pris en charge par l’objet API REST, exprimés en tant que YAML, sont les clés prises en charge par la ressource. Les liens vers la documentation de l’objet correspondant de chaque ressource se trouvent dans le tableau ci-dessous.
Tip
La commande databricks bundle validate retourne des avertissements si des propriétés de ressource inconnues sont trouvées dans les fichiers de configuration de bundle.
alerte
Type: Map
La ressource d’alerte définit une alerte SQL (v2).
alerts:
<alert-name>:
<alert-field-name>: <alert-field-value>
| Key | Type | Description |
|---|---|---|
custom_description |
String | Optional. Description personnalisée de l’alerte. Prend en charge le modèle Mustache. |
custom_summary |
String | Optional. Résumé personnalisé de l’alerte. Prend en charge le modèle Mustache. |
display_name |
String | Obligatoire. Nom d'affichage de l'alerte, par exemple Example alert. |
evaluation |
Map | Obligatoire. Configuration de l’évaluation de l’alerte. Consultez alert.evaluation. |
parent_path |
String | Optional. Chemin d’accès de l’espace de travail du dossier contenant l’alerte. Ne peut être défini qu'uniquement lors de la création et ne peut pas être mis à jour. Exemple : /Users/someone@example.com. |
permissions |
Sequence | Autorisations d’alerte. Consultez les autorisations. |
query_text |
String | Obligatoire. Texte de la requête à exécuter, par exemple SELECT 1. |
run_as |
Map | Optional. Spécifie l’identité qui sera utilisée pour exécuter l’alerte. Ce champ vous permet de configurer des alertes pour qu’elles s’exécutent en tant qu’utilisateur ou principal de service spécifique. Voir run_as.
|
schedule |
Map | Obligatoire. Configuration de planification de l’alerte. Consultez alert.schedule. |
warehouse_id |
String | Obligatoire. ID de l’entrepôt SQL attaché à l’alerte, par exemple a7066a8ef796be84. |
alert.evaluation
Type: Map
Configuration de l’évaluation de l’alerte.
| Key | Type | Description |
|---|---|---|
comparison_operator |
String | Opérateur utilisé pour la comparaison dans l’évaluation de l’alerte. |
empty_result_state |
String | État d’alerte si le résultat est vide. Évitez de définir ce champ UNKNOWN car l’état UNKNOWN est prévu pour être obsolète. |
notification |
Map | L’utilisateur ou une autre destination à notifier lorsque l’alerte est déclenchée. Consultez alert.evaluation.notification. |
source |
Map | Colonne source du résultat à utiliser pour évaluer l’alerte. Consultez alert.evaluation.source. |
threshold |
Map | Seuil à utiliser pour l’évaluation des alertes. Il peut s’agir d’une colonne ou d’une valeur. Consultez alert.evaluation.threshold. |
alerte.évaluation.notification
Type: Map
L’utilisateur ou une autre destination à notifier lorsque l’alerte est déclenchée.
| Key | Type | Description |
|---|---|---|
notify_on_ok |
Boolean | Optional. Indique si les abonnés d’alerte doivent être avertis lorsque l’alerte revient à la normale. |
retrigger_seconds |
Integer | Optional. Nombre de secondes pendant lesquelles une alerte attend après avoir été déclenchée avant d’être autorisée à envoyer une autre notification. Si elle est définie 0 ou omise, l’alerte n’envoie aucune autre notification après le premier déclencheur. La configuration de cette valeur permet à 1 l'alerte d'envoyer une notification à chaque évaluation où la condition est remplie, la rendant ainsi réactivée systématiquement à des fins de notification. |
subscriptions |
Sequence | Optional. Liste non triée des abonnements aux notifications. Consultez alert.evaluation.notification.subscriptions. |
alert.evaluation.notification.abonnements
Type: Sequence
Liste non ordonnée d’abonnements aux notifications.
Chaque élément de la liste est un AlertSubscription:
| Key | Type | Description |
|---|---|---|
destination_id |
String | ID de la destination de notification. |
user_email |
String | Adresse e-mail de l’utilisateur à notifier. |
source.d'évaluation.d'alerte
Type: Map
Colonne source du résultat à utiliser pour évaluer l’alerte.
| Key | Type | Description |
|---|---|---|
aggregation |
String | Méthode d’agrégation à appliquer à la colonne source. Les valeurs valides sont SUM, , COUNTCOUNT_DISTINCT, AVGMEDIANMIN, , MAXSTDDEV |
display |
String | Nom d'affichage de la colonne source. |
name |
String | Nom de la colonne source à partir du résultat de la requête. |
alert.evaluation.threshold
Type: Map
Le seuil à utiliser pour l’évaluation des alertes peut être une colonne ou une valeur.
| Key | Type | Description |
|---|---|---|
column |
Map | Référence de colonne à utiliser comme seuil. Consultez alert.evaluation.source. |
value |
Map | Valeur littérale à utiliser comme seuil. Consultez alert.evaluation.threshold.value. |
alert.evaluation.threshold.value
Type: Map
Valeur littérale à utiliser comme seuil. Spécifiez l’un des types valeur suivants.
| Key | Type | Description |
|---|---|---|
bool_value |
Boolean | Optional. Valeur booléenne pour le seuil, par exemple true. |
double_value |
Double | Optional. Valeur numérique pour le seuil, par exemple 1.25. |
string_value |
String | Optional. Valeur de chaîne pour le seuil, par exemple test. |
alerte.horaire
Type: Map
Configuration de planification de l’alerte.
| Key | Type | Description |
|---|---|---|
pause_status |
String | Optional. Indique si cette planification est suspendue ou non. Valeurs valides : UNPAUSED, PAUSED. Par défaut : UNPAUSED. |
quartz_cron_schedule |
String | Obligatoire. Une expression cron utilisant la syntaxe quartz qui spécifie l'horaire de ce pipeline. Le format quartz est décrit dans le quartz scheduler format. |
timezone_id |
String | Obligatoire. ID de fuseau horaire Java. La planification sera résolue à l’aide de ce fuseau horaire. Cela sera combiné avec le quartz_cron_schedule pour déterminer le calendrier. Pour plus d’informations, consultez SET TIME ZONE. |
Examples
L’exemple de configuration suivant définit une alerte avec une évaluation simple :
resources:
alerts:
my_alert:
display_name: my_alert
evaluation:
comparison_operator: EQUAL
source:
name: '1'
threshold:
value:
double_value: 2
query_text: select 2
schedule:
quartz_cron_schedule: '44 19 */1 * * ?'
timezone_id: Europe/Amsterdam
warehouse_id: 799f096837fzzzz4
L’exemple de configuration suivant définit une alerte avec des autorisations qui évaluent l’utilisation de l’agrégation et envoient des notifications :
resources:
alerts:
my_alert:
permissions:
- level: CAN_MANAGE
user_name: someone@example.com
custom_summary: 'My alert'
display_name: 'My alert'
evaluation:
comparison_operator: 'EQUAL'
notification:
notify_on_ok: false
retrigger_seconds: 1
source:
aggregation: 'MAX'
display: '1'
name: '1'
threshold:
value:
double_value: 2
query_text: 'select 2'
schedule:
pause_status: 'UNPAUSED'
quartz_cron_schedule: '44 19 */1 * * ?'
timezone_id: 'Europe/Amsterdam'
warehouse_id: 799f096837fzzzz4
application
Type: Map
La ressource d’application définit une application Databricks. Pour plus d’informations sur Databricks Apps, consultez Databricks Apps.
Pour ajouter une application, spécifiez les paramètres pour définir l’application, y compris les éléments requis source_code_path.
Tip
Vous pouvez initialiser un bundle avec une application Streamlit Databricks à l’aide de la commande suivante :
databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app
apps:
<app-name>:
<app-field-name>: <app-field-value>
| Key | Type | Description |
|---|---|---|
budget_policy_id |
String | ID de stratégie budgétaire de l’application. |
compute_size |
String | Taille de calcul de l’application. Les valeurs valides sont MEDIUM ou LARGE dépendent de la configuration de l’espace de travail. |
config |
Map | Deprecated. Définissez plutôt les commandes de configuration de votre application et les variables d’environnement dans le app.yaml fichier. Consultez Configurer une application Databricks. |
description |
String | Description de l’application. |
lifecycle |
Map | Comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom de l’application. Le nom doit contenir uniquement des caractères alphanumériques minuscules et des traits d’union. Il doit être unique dans l’espace de travail. |
permissions |
Sequence | Autorisations de l’application. Consultez les autorisations. |
resources |
Sequence | Ressources de calcul de l’application. Consultez app.resources. |
source_code_path |
String | Chemin ./app d’accès local du code source de l’application Databricks. |
user_api_scopes |
Sequence | Étendues de l’API utilisateur. |
app.resources
Type: Sequence
Liste des ressources de calcul pour l’application.
Chaque élément de la liste est un AppResource:
| Key | Type | Description |
|---|---|---|
description |
String | Description de la ressource d’application. |
database |
Map | Paramètres qui identifient la base de données Lakebase à utiliser. Consultez app.resources.database. |
genie_space |
Map | Paramètres qui identifient l’espace Génie à utiliser. Voir app.resources.genie_space. |
job |
Map | Paramètres qui identifient la ressource de travail à utiliser. Consultez app.resources.job. |
name |
String | Nom de la ressource d’application. |
secret |
Map | Paramètres qui identifient la ressource secrète Azure Databricks à utiliser. Consultez app.resources.secret. |
serving_endpoint |
Map | Paramètres qui identifient la ressource de point de terminaison de service du modèle à utiliser. Voir app.resources.serving_endpoint. |
sql_warehouse |
Map | Paramètres qui identifient la ressource SQL Warehouse à utiliser. Consultez app.resources.sql_warehouse. |
uc_securable |
Map | Paramètres qui identifient le volume du catalogue Unity à utiliser. Voir app.resources.uc_securable. |
app.resources.base de données
Type: Map
Paramètres qui identifient la base de données Lakebase à utiliser.
| Key | Type | Description |
|---|---|---|
database_name |
String | Nom de la base de données. |
instance_name |
String | Nom de l’instance de base de données. |
permission |
String | Niveau d’autorisation de la base de données. Les valeurs valides sont CAN_CONNECT_AND_CREATE. |
app.resources.génie_space
Type: Map
Paramètres qui identifient l’espace Génie à utiliser.
| Key | Type | Description |
|---|---|---|
name |
String | Nom de l’espace Génie. |
permission |
String | Niveau d’autorisation de l’espace. Les valeurs valides incluent CAN_VIEW, , CAN_EDITCAN_MANAGE, CAN_RUN. |
space_id |
String | ID de l’espace Génie, par exemple 550e8400-e29b-41d4-a716-999955440000. |
app.resources.job
Type: Map
Paramètres qui identifient la ressource de travail à utiliser.
| Key | Type | Description |
|---|---|---|
id |
String | ID du travail. |
permission |
String | Niveau d’autorisation de la tâche. Les valeurs valides incluent CAN_VIEW, , CAN_MANAGE_RUNCAN_MANAGE, IS_OWNER. |
app.ressources.secret
Type: Map
Paramètres qui identifient la ressource secrète Azure Databricks à utiliser.
| Key | Type | Description |
|---|---|---|
key |
String | La clé secrète pour accorder l'autorisation. |
permission |
String | Niveau d’autorisation du secret. Les valeurs valides incluent READ, WRITE, MANAGE. |
scope |
String | Nom du périmètre secret. |
app.resources.point_de_terminaison_de_service
Type: Map
Paramètres qui identifient la ressource de point de terminaison de service du modèle à utiliser.
| Key | Type | Description |
|---|---|---|
name |
String | Le nom de l’endpoint de service. |
permission |
String | Niveau d’autorisation du point de terminaison de service. Les valeurs valides incluent CAN_QUERY, CAN_MANAGE, CAN_VIEW. |
app.resources.sql_warehouse
Type: Map
Paramètres qui identifient l’entrepôt SQL à utiliser.
| Key | Type | Description |
|---|---|---|
id |
String | ID de l’entrepôt SQL. |
permission |
String | Niveau d’autorisation pour l’entrepôt SQL. Les valeurs valides incluent CAN_USE, CAN_MANAGE, IS_OWNER. |
app.resources.uc_securable
Type: Map
Paramètres qui identifient le volume du catalogue Unity à utiliser.
| Key | Type | Description |
|---|---|---|
permission |
String | Le niveau d'autorisation pour le catalogue Unity sécuritaire. Les valeurs valides sont READ_VOLUME et WRITE_VOLUME. |
securable_full_name |
String | Nom complet du catalogue Unity sécurisable au format catalog.schema.volume. |
securable_type |
String | Type du catalogue Unity sécurisable. Les valeurs valides sont VOLUME. |
Example
L’exemple suivant crée une application nommée my_app qui gère un travail créé par le bundle :
resources:
jobs:
# Define a job in the bundle
hello_world:
name: hello_world
tasks:
- task_key: task
spark_python_task:
python_file: ../src/main.py
environment_key: default
environments:
- environment_key: default
spec:
environment_version: '2'
# Define an app that manages the job in the bundle
apps:
job_manager:
name: 'job_manager_app'
description: 'An app which manages a job created by this bundle'
# The location of the source code for the app
source_code_path: ../src/app
# The resources in the bundle which this app has access to. This binds the resource in the app with the bundle resource.
resources:
- name: 'app-job'
job:
id: ${resources.jobs.hello_world.id}
permission: 'CAN_MANAGE_RUN'
Le correspondant app.yaml définit la configuration pour l’exécution de l’application :
command:
- flask
- --app
- app
- run
- --debug
env:
- name: JOB_ID
valueFrom: 'app-job'
Pour l’exemple complet de l’application Databricks, consultez le dépôt GitHub bundle-examples .
Grappe
Type: Map
La ressource de cluster définit un cluster.
clusters:
<cluster-name>:
<cluster-field-name>: <cluster-field-value>
| Key | Type | Description |
|---|---|---|
apply_policy_default_values |
Boolean | Lorsque la valeur est true, les valeurs fixes et par défaut de la stratégie sont utilisées pour les champs omis. Lorsque la valeur est false, seules les valeurs fixes de la stratégie sont appliquées. |
autoscale |
Map | Les paramètres nécessaires pour effectuer automatiquement un scale-up ou un scale-down des clusters en fonction de la charge. Consultez Autoscale. |
autotermination_minutes |
Integer | Met automatiquement fin au cluster une fois qu’il est inactif pendant cette période en minutes. S’il n’est pas défini, ce cluster ne sera pas automatiquement arrêté. S’il est spécifié, le seuil doit être compris entre 10 et 1 000 minutes. Les utilisateurs peuvent également définir cette valeur sur 0 pour désactiver explicitement l’arrêt automatique. |
aws_attributes |
Map | Attributs liés aux clusters s’exécutant sur Amazon Web Services. S’il n’est pas spécifié lors de la création du cluster, un ensemble de valeurs par défaut est utilisé. Voir aws_attributes. |
azure_attributes |
Map | Attributs liés aux clusters s’exécutant sur Microsoft Azure. S’il n’est pas spécifié lors de la création du cluster, un ensemble de valeurs par défaut est utilisé. Voir azure_attributes. |
cluster_log_conf |
Map | Configuration relative à la remise des journaux d’activité Spark à une destination de stockage à long terme. Voir cluster_log_conf. |
cluster_name |
String | Nom du cluster demandé par l’utilisateur. Cela n’a pas besoin d’être unique. S’il n’est pas spécifié lors de la création, le nom du cluster est une chaîne vide. |
custom_tags |
Map | Étiquettes supplémentaires pour les ressources du cluster. Databricks marquera toutes les ressources du cluster (par exemple, les instances AWS et les volumes EBS) avec ces étiquettes en plus de default_tags. |
data_security_mode |
String | Modèle de gouvernance des données à utiliser lors de l’accès aux données à partir d’un cluster. Les valeurs valides incluent NONE, , SINGLE_USERUSER_ISOLATION, LEGACY_SINGLE_USERLEGACY_TABLE_ACL, . LEGACY_PASSTHROUGH |
docker_image |
Map | Image docker personnalisée. Voir docker_image. |
driver_instance_pool_id |
String | ID facultatif du pool d’instances pour le pilote auquel le cluster appartient. Le cluster de pool utilise le pool d’instances avec l’ID (instance_pool_id) si le pool de pilotes n’est pas affecté. |
driver_node_type_id |
String | Type de nœud du pilote Spark. Notez que ce champ est facultatif ; si ce paramètre n’est pas défini, le type de nœud du pilote sera défini à la même valeur que celle définie par node_type_id ci-dessus. Ce champ, ainsi que node_type_id, ne doit pas être défini si virtual_cluster_size est défini. Si les deux driver_node_type_id, node_type_id et virtual_cluster_size sont spécifiés, driver_node_type_id et node_type_id sont prioritaires. |
enable_elastic_disk |
Boolean | Mise à l’échelle automatique du stockage local : lorsqu’il est activé, ce cluster acquiert dynamiquement un espace disque supplémentaire lorsque ses processeurs Spark sont à court d'espace disque. Cette fonctionnalité nécessite des autorisations AWS spécifiques pour fonctionner correctement. Reportez-vous au Guide de l’utilisateur pour plus d’informations. |
enable_local_disk_encryption |
Boolean | Indique s’il faut activer LUKS sur les disques locaux des machines virtuelles de cluster |
gcp_attributes |
Map | Attributs liés aux clusters s’exécutant sur Google Cloud Platform. S’il n’est pas spécifié lors de la création du cluster, un ensemble de valeurs par défaut est utilisé. Voir gcp_attributes. |
init_scripts |
Sequence | Configuration pour le stockage de scripts init. Vous pouvez spécifier n’importe quel nombre de destinations. Les scripts sont exécutés séquentiellement dans l’ordre fourni. Voir init_scripts. |
instance_pool_id |
String | ID facultatif du pool d’instances auquel appartient le cluster. |
is_single_node |
Boolean | Ce champ ne peut être utilisé que lorsque kind = CLASSIC_PREVIEW. Quand la valeur est true, Databricks définit automatiquement un nœud unique associé custom_tags, spark_confet num_workers |
kind |
String | Type de calcul décrit par cette spécification de calcul. |
node_type_id |
String | Ce champ code, via une seule valeur, les ressources disponibles pour chacun des nœuds Spark de ce cluster. Par exemple, les nœuds Spark peuvent être configurés et optimisés pour des charges de travail gourmandes en mémoire ou en calcul. Une liste des types de nœuds disponibles peut être récupérée à l’aide de l’appel d’API :method :clusters/listNodeTypes. |
num_workers |
Integer | Nombre de nœuds de travail que ce cluster doit avoir. Un cluster a un pilote Spark et num_workers exécuteurs pour un total de num_workers + 1 nœuds Spark. |
permissions |
Sequence | Autorisations du cluster. Consultez les autorisations. |
policy_id |
String | ID de la stratégie de cluster utilisée pour créer le cluster le cas échéant. |
runtime_engine |
String | Détermine le moteur d’exécution du cluster, soit STANDARDPHOTON. |
single_user_name |
String | Nom d’utilisateur unique si data_security_mode est SINGLE_USER |
spark_conf |
Map | Objet contenant un ensemble de paires de clé-valeur de configuration Spark facultatives spécifiées par l’utilisateur. Les utilisateurs peuvent également transmettre une chaîne d’options JVM supplémentaires au pilote et aux exécuteurs via spark.driver.extraJavaOptions et spark.executor.extraJavaOptions respectivement. |
spark_env_vars |
Map | Objet contenant un ensemble de paires clé-valeur de variable d’environnement facultatives spécifiées par l’utilisateur. |
spark_version |
String | Version Spark du cluster, par exemple 3.3.x-scala2.11. Une liste des versions spark disponibles peut être récupérée à l’aide de l’appel d’API :method :clusters/sparkVersions. |
ssh_public_keys |
Sequence | Contenu de clé publique SSH qui sera ajouté à chaque nœud Spark de ce cluster. Les clés privées correspondantes peuvent être utilisées pour se connecter avec le nom ubuntu d’utilisateur sur le port 2200. Jusqu’à 10 clés peuvent être spécifiées. |
use_ml_runtime |
Boolean | Ce champ ne peut être utilisé que lorsque kind = CLASSIC_PREVIEW.
effective_spark_version est déterminé par spark_version (version DBR), ce champ use_ml_runtime, et s’il s’agit node_type_id d’un nœud gpu ou non. |
workload_type |
Map | Attributs de cluster montrant les types de charge de travail de clusters. Voir workload_type. |
cluster.autoscale
Type: Map
Paramètres de mise à l’échelle automatique des clusters vers le haut et vers le bas en fonction de la charge.
| Key | Type | Description |
|---|---|---|
min_workers |
Integer | Nombre minimal de workers auxquels le cluster peut effectuer un scale-down lorsqu’il est sous-utilisé. Il s’agit également du nombre initial de workers que le cluster aura après la création. |
max_workers |
Integer | Nombre maximal de workers auxquels le cluster peut effectuer un scale-up lorsqu’il est surchargé.
max_workers doit être strictement supérieur à min_workers. |
cluster.aws_attributes
Type: Map
Attributs liés aux clusters s’exécutant sur Amazon Web Services.
| Key | Type | Description |
|---|---|---|
zone_id |
String | Identificateur de la zone de disponibilité/centre de données dans lequel réside le cluster. Cette chaîne sera d’une forme semblable à us-west-2a. |
availability |
String | Type de disponibilité utilisé pour tous les nœuds suivants après les nœuds first_on_demand. Les valeurs valides sont SPOT, ON_DEMAND, SPOT_WITH_FALLBACK. |
spot_bid_price_percent |
Integer | Prix maximal pour les instances SPOT AWS, sous la forme d’un pourcentage du prix à la demande du type d’instance correspondant. |
instance_profile_arn |
String | Les nœuds de ce cluster ne seront placés que sur des instances AWS avec ce profil d’instance. |
first_on_demand |
Integer | Les premiers first_on_demand nœuds du cluster seront placés sur des instances à la demande. Cette valeur doit être supérieure à 0, afin de garantir que le nœud de gestion du cluster est placé sur une instance à la demande. |
ebs_volume_type |
String | Type de volumes EBS qui seront lancés avec ce cluster. Les valeurs valides sont GENERAL_PURPOSE_SSD ou THROUGHPUT_OPTIMIZED_HDD. |
ebs_volume_count |
Integer | Nombre de volumes lancés pour chaque instance. |
ebs_volume_size |
Integer | Taille de chaque volume EBS (en Gio) lancé pour chaque instance. |
ebs_volume_iops |
Integer | Nombre d’IOPS par volume EBS gp3. |
ebs_volume_throughput |
Integer | Débit par volume EBS gp3, en Mio par seconde. |
cluster.azure_attributes
Type: Map
Attributs liés aux clusters s’exécutant sur Microsoft Azure.
| Key | Type | Description |
|---|---|---|
first_on_demand |
Integer | Les premiers first_on_demand nœuds du cluster seront placés sur des instances à la demande. |
availability |
String | Type de disponibilité utilisé pour tous les nœuds suivants après les nœuds first_on_demand. Les valeurs valides sont SPOT_AZURE, ON_DEMAND_AZURE, SPOT_WITH_FALLBACK_AZURE. |
spot_bid_max_price |
Number | Prix maximal pour les instances Spot Azure. Permet -1 de spécifier le prix le plus bas. |
cluster.gcp_attributes
Type: Map
Attributs liés aux clusters s’exécutant sur Google Cloud Platform.
| Key | Type | Description |
|---|---|---|
use_preemptible_executors |
Boolean | Faut-il utiliser des exécuteurs préemptibles ? Les exécuteurs préemptibles sont des instances GCE préemptibles qui peuvent être récupérées par GCE à tout moment. |
google_service_account |
String | Compte de service Google à utiliser par les instances de machine virtuelle du cluster Databricks. |
local_ssd_count |
Integer | Nombre de DISQUES SSD locaux à attacher à chaque nœud du cluster. La valeur par défaut est 0. |
zone_id |
String | Identificateur de la zone de disponibilité/centre de données dans lequel réside le cluster. |
availability |
String | Type de disponibilité utilisé pour tous les nœuds. Les valeurs valides sont PREEMPTIBLE_GCP, ON_DEMAND_GCP, PREEMPTIBLE_WITH_FALLBACK_GCP. |
boot_disk_size |
Integer | Taille du disque de démarrage en Go. Les valeurs sont généralement comprises entre 100 et 1 000. |
cluster.cluster_log_conf
Configuration de la livraison des journaux Spark à une destination de stockage à long terme.
| Key | Type | Description |
|---|---|---|
dbfs |
Map | Emplacement DBFS pour la livraison des journaux du cluster. Voir dbfs. |
s3 |
Map | Emplacement S3 pour la livraison des logs de cluster. Voir s3. |
volumes |
Map | Emplacement des volumes pour la livraison des journaux de clusters. Consultez les volumes. |
cluster.cluster_log_conf.dbfs
Type: Map
Emplacement DBFS pour la livraison des journaux du cluster.
| Key | Type | Description |
|---|---|---|
destination |
String | Chemin DBFS destiné à la livraison des logs de cluster (par exemple, dbfs:/cluster-logs). |
cluster.cluster_log_conf.s3
Type: Map
Emplacement S3 pour la livraison des logs de cluster.
| Key | Type | Description |
|---|---|---|
destination |
String | L'URI S3 pour la livraison des journaux de cluster (par exemple, s3://my-bucket/cluster-logs). |
region |
String | Région AWS du bucket S3. |
endpoint |
String | URL du point de terminaison S3 (facultatif). |
enable_encryption |
Boolean | Indique s’il faut activer le chiffrement pour les journaux de cluster. |
encryption_type |
String | Type de chiffrement. Les valeurs valides incluent SSE_S3, SSE_KMS. |
kms_key |
String | ARN de clé KMS pour le chiffrement (lors de l'utilisation de SSE_KMS). |
canned_acl |
String | Liste de contrôle d’accès préconfigurée à appliquer aux journaux du cluster. |
cluster.cluster_log_conf.volumes
Type: Map
Emplacement des volumes pour la livraison des journaux de clusters.
| Key | Type | Description |
|---|---|---|
destination |
String | Chemin du volume pour la livraison des journaux de cluster (par exemple, /Volumes/catalog/schema/volume/cluster_log). |
cluster.docker_image
Type: Map
La configuration de l'image Docker personnalisée.
| Key | Type | Description |
|---|---|---|
url |
String | URL de l’image Docker. |
basic_auth |
Map | Authentification de base pour le référentiel Docker. Voir basic_auth. |
cluster.docker_image.basic_auth
Type: Map
Authentification de base pour le référentiel Docker.
| Key | Type | Description |
|---|---|---|
username |
String | Nom d’utilisateur de l’authentification du Registre Docker. |
password |
String | Mot de passe pour l’authentification du Registre Docker. |
cluster.init_scripts
Type: Map
Configuration pour le stockage de scripts init. Au moins un type d’emplacement doit être spécifié.
| Key | Type | Description |
|---|---|---|
dbfs |
Map | Emplacement DBFS du script init. Voir dbfs. |
workspace |
Map | Emplacement de l’espace de travail du script init. Consultez l’espace de travail. |
s3 |
Map | Emplacement S3 du script d'initialisation. Voir s3. |
abfss |
Map | Emplacement du script d'initialisation ABFSS. Voir abfss. |
gcs |
Map | Emplacement du script d'initialisation GCS. Consultez gcs. |
volumes |
Map | Emplacement des volumes UC du script init. Consultez les volumes. |
cluster.init_scripts.dbfs
Type: Map
Emplacement DBFS du script init.
| Key | Type | Description |
|---|---|---|
destination |
String | Chemin DBFS du script init. |
cluster.init_scripts.espace_de_travail
Type: Map
Emplacement de l’espace de travail du script init.
| Key | Type | Description |
|---|---|---|
destination |
String | Chemin d’accès de l’espace de travail du script init. |
cluster.init_scripts.s3
Type: Map
Emplacement S3 du script d'initialisation.
| Key | Type | Description |
|---|---|---|
destination |
String | URI S3 du script init. |
region |
String | Région AWS du bucket S3. |
endpoint |
String | URL du point de terminaison S3 (facultatif). |
cluster.init_scripts.abfss
Type: Map
Emplacement du script d'initialisation ABFSS.
| Key | Type | Description |
|---|---|---|
destination |
String | Chemin d'accès ABFSS du script d'initialisation. |
cluster.init_scripts.gcs
Type: Map
Emplacement du script d'initialisation GCS.
| Key | Type | Description |
|---|---|---|
destination |
String | Chemin GCS du script d'initialisation. |
scripts_d'initialisation_du_cluster.volumes
Type: Map
Emplacement des volumes de données pour le script d'initialisation.
| Key | Type | Description |
|---|---|---|
destination |
String | Chemin des volumes UC du script d'initialisation. |
cluster.type_de_charge_de_travail
Type: Map
Attributs de cluster montrant les types de charge de travail de cluster.
| Key | Type | Description |
|---|---|---|
clients |
Map | Définit le type de clients pouvant utiliser le cluster. Consultez les clients. |
cluster.workload_type.clients
Type: Map
Type de clients pour cette charge de travail de calcul.
| Key | Type | Description |
|---|---|---|
jobs |
Boolean | Indique si le cluster peut exécuter des travaux. |
notebooks |
Boolean | Indique si le cluster peut exécuter des notebooks. |
Examples
L’exemple suivant crée un cluster dédié (mono-utilisateur) pour l’utilisateur actuel avec Databricks Runtime 15.4 LTS et une stratégie de cluster :
resources:
clusters:
my_cluster:
num_workers: 0
node_type_id: 'i3.xlarge'
driver_node_type_id: 'i3.xlarge'
spark_version: '15.4.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
autotermination_minutes: 60
enable_elastic_disk: true
single_user_name: ${workspace.current_user.userName}
policy_id: '000128DB309672CA'
enable_local_disk_encryption: false
data_security_mode: SINGLE_USER
runtime_engine": STANDARD
Cet exemple crée un cluster my_cluster simple et définit celui-ci comme cluster à utiliser pour exécuter le notebook dans my_job:
bundle:
name: clusters
resources:
clusters:
my_cluster:
num_workers: 2
node_type_id: 'i3.xlarge'
autoscale:
min_workers: 2
max_workers: 7
spark_version: '13.3.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
jobs:
my_job:
tasks:
- task_key: test_task
notebook_task:
notebook_path: './src/my_notebook.py'
existing_cluster_id: ${resources.clusters.my_cluster.id}
tableau de bord
Type: Map
La ressource de tableau de bord vous permet de gérer tableaux de bord IA/BI dans un bundle. Pour plus d’informations sur les tableaux de bord IA/BI, consultez Tableaux de bord.
Si vous avez déployé un bundle qui contient un tableau de bord à partir de votre environnement local, puis utilisez l’interface utilisateur pour modifier ce tableau de bord, les modifications apportées via l’interface utilisateur ne sont pas appliquées au fichier JSON du tableau de bord dans le bundle local, sauf si vous la mettez explicitement à jour à l’aide bundle generate. Vous pouvez utiliser l’option --watch pour interroger et récupérer en continu les modifications apportées au tableau de bord. Consultez l’offre groupée databricks générée.
En outre, si vous tentez de déployer un bundle à partir de votre environnement local qui contient un fichier JSON de tableau de bord différent de celui de l’espace de travail distant, une erreur se produit. Pour forcer le déploiement et remplacer le tableau de bord dans l’espace de travail distant avec celui local, utilisez l’option --force. Consultez le déploiement de l’offre groupée databricks.
Note
Lorsque vous utilisez les bundles de ressources Databricks avec la prise en charge Git du tableau de bord, empêchez la génération de tableaux de bord en double en ajoutant le mappage de synchronisation pour que les tableaux de bord ne soient pas synchronisés en tant que fichiers :
sync:
exclude:
- src/*.lvdash.json
dashboards:
<dashboard-name>:
<dashboard-field-name>: <dashboard-field-value>
| Key | Type | Description |
|---|---|---|
display_name |
String | Nom complet du tableau de bord. |
embed_credentials |
Boolean | Indique si les informations d’identification d’identité de déploiement groupées sont utilisées pour exécuter des requêtes pour tous les visionneuses du tableau de bord. S’il est défini sur false, les informations d’identification d’un utilisateur sont utilisées. La valeur par défaut est false. |
etag |
String | ETag pour le tableau de bord. Peut être fourni éventuellement sur les mises à jour pour vous assurer que le tableau de bord n’a pas été modifié depuis la dernière lecture. |
file_path |
String | Chemin d’accès local de la ressource de tableau de bord, y compris le nom de fichier. Les tableaux de bord exportés ont toujours l’extension .lvdash.jsonde fichier . |
permissions |
Sequence | Autorisations du tableau de bord. Consultez les autorisations. |
serialized_dashboard |
Any | Contenu du tableau de bord sous forme de chaîne sérialisée. |
warehouse_id |
String | ID d’entrepôt utilisé pour exécuter le tableau de bord. |
Example
L’exemple suivant inclut et déploie l’exemple de tableau de bord NYC Taxi Trip Analysis sur l’espace de travail Databricks.
resources:
dashboards:
nyc_taxi_trip_analysis:
display_name: 'NYC Taxi Trip Analysis'
file_path: ../src/nyc_taxi_trip_analysis.lvdash.json
warehouse_id: ${var.warehouse_id}
catalogue_de_bases_de_données
Type: Map
La ressource de catalogue de bases de données vous permet de définir des catalogues de bases de données qui correspondent aux instances de base de données d’un bundle. Un catalogue de bases de données est une base de données Lakebase inscrite en tant que catalogue de catalogue Unity.
Pour plus d’informations sur les catalogues de bases de données, consultez Créer un catalogue.
database_catalogs:
<database_catalog-name>:
<database_catalog-field-name>: <database_catalog-field-value>
| Key | Type | Description |
|---|---|---|
create_database_if_not_exists |
Boolean | Indique s’il faut créer la base de données s’il n’existe pas. |
database_instance_name |
String | Nom de l’instance qui héberge la base de données. |
database_name |
String | Nom de la base de données (dans une instance) associée au catalogue. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource, y compris le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom du catalogue dans le catalogue Unity. |
Example
L’exemple suivant définit une instance de base de données avec un catalogue de bases de données correspondant :
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: ${resources.database_instances.my_instance.name}
name: example_catalog
database_name: my_database
create_database_if_not_exists: true
instance de base de données
Type: Map
La ressource d’instance de base de données vous permet de définir des instances de base de données dans un bundle. Une instance de base de données Lakebase gère les ressources de stockage et de calcul et fournit les points de terminaison auxquels les utilisateurs se connectent.
Important
Lorsque vous déployez un bundle avec une instance de base de données, l’instance démarre immédiatement en cours d’exécution et est soumise à la tarification. Consultez la tarification lakebase.
Pour plus d’informations sur les instances de base de données, consultez Qu’est-ce qu’une instance de base de données ?.
database_instances:
<database_instance-name>:
<database_instance-field-name>: <database_instance-field-value>
| Key | Type | Description |
|---|---|---|
capacity |
String | Référence sku de l’instance. Les valeurs valides sont CU_1, , CU_2CU_4, CU_8. |
custom_tags |
Sequence | Liste des paires clé-valeur qui spécifient des balises personnalisées associées à l’instance. |
enable_pg_native_login |
Boolean | Indique si la connexion de mot de passe native PG est activée. La valeur par défaut est true. |
enable_readable_secondaries |
Boolean | Indique s’il faut activer les fichiers secondaires pour traiter le trafic en lecture seule. La valeur par défaut est false. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom de l’instance. Il s’agit de l’identificateur unique de l’instance. |
node_count |
Integer | Nombre de nœuds dans l’instance, composés de 1 secondaire et 0 ou plus. La valeur par défaut est 1 secondaire et 0 secondaires. |
parent_instance_ref |
Map | Référence de l’instance parente. Cela n’est disponible que si l’instance est une instance enfant. Voir l’instance parente. |
permissions |
Sequence | Autorisations de l’instance de base de données. Consultez les autorisations. |
retention_window_in_days |
Integer | Fenêtre de rétention de l’instance. Il s’agit de la fenêtre de temps en jours pour laquelle les données historiques sont conservées. La valeur par défaut est de 7 jours. Les valeurs valides sont de 2 à 35 jours. |
stopped |
Boolean | Indique si l’instance est arrêtée. |
usage_policy_id |
String | Stratégie d’utilisation souhaitée à associer à l’instance. |
database_instance.parent_instance_ref
Type: Map
Référence de l’instance parente. Cela n’est disponible que si l’instance est une instance enfant.
| Key | Type | Description |
|---|---|---|
branch_time |
String | Heure de branche de l’instance de base de données ref. Pour une instance de référence parente, c'est le moment sur l'instance parente à partir duquel l'instance a été créée. Pour une instance ref enfant, il s’agit du point dans le temps sur l’instance à partir de laquelle l’instance enfant a été créée. |
lsn |
String | LSN WAL spécifié par l’utilisateur de l’instance de base de données ref. |
name |
String | Nom de l’instance de base de données ref. |
Example
L’exemple suivant définit une instance de base de données avec un catalogue de bases de données correspondant :
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: ${resources.database_instances.my_instance.name}
name: example_catalog
database_name: my_database
create_database_if_not_exists: true
Pour obtenir un exemple d’offre groupée qui montre comment définir une instance de base de données et un catalogue de bases de données correspondant, consultez le référentiel GitHub bundle-examples.
expérience
Type: Map
La ressource d’expérience vous permet de définir des expériences MLflow dans un pack. Pour plus d’informations sur les expériences MLflow, consultez Organiser les exécutions d’entraînement avec des expériences MLflow.
experiments:
<experiment-name>:
<experiment-field-name>: <experiment-field-value>
| Key | Type | Description |
|---|---|---|
artifact_location |
String | Emplacement où les artefacts de l’expérience sont stockés. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom convivial qui identifie l’expérience. Un nom d’expérience doit être un chemin absolu dans l’espace de travail Databricks, par exemple /Workspace/Users/someone@example.com/my_experiment. |
permissions |
Sequence | Autorisations de l’expérience. Consultez les autorisations. |
tags |
Sequence | Paires clé-valeur de métadonnées supplémentaires. Voir les balises. |
Example
L’exemple suivant définit une expérience que tous les utilisateurs peuvent afficher :
resources:
experiments:
experiment:
name: /Workspace/Users/someone@example.com/my_experiment
permissions:
- level: CAN_READ
group_name: users
description: MLflow experiment used to track runs
travail
Type: Map
Les jobs sont pris en charge dans Python pour les bundles de ressources Databricks. Voir databricks.bundles.jobs.
La ressource de travail vous permet de définir des travaux et les tâches correspondantes dans votre pack.
Pour plus d’informations sur les travaux, consultez Travaux Lakeflow. Pour obtenir un didacticiel qui utilise un modèle Databricks Asset Bundles pour créer un travail, consultez Développer un travail avec databricks Asset Bundles.
jobs:
<job-name>:
<job-field-name>: <job-field-value>
| Key | Type | Description |
|---|---|---|
budget_policy_id |
String | ID de la stratégie budgétaire spécifiée par l’utilisateur à utiliser pour ce travail. Si elle n’est pas spécifiée, une stratégie de budget par défaut peut être appliquée lors de la création ou de la modification du travail. Consultez effective_budget_policy_id pour la politique budgétaire utilisée par cette charge de travail. |
continuous |
Map | Propriété continue facultative pour ce travail. La propriété continue veille à ce qu’il existe toujours un processus en cours. Seul l'un de schedule et continuous peut être utilisé. Voir continu. |
deployment |
Map | Informations de déploiement pour les travaux gérés par des sources externes. Consultez Déploiement. |
description |
String | Description facultative du travail. La longueur maximale est de 27700 caractères dans l’encodage UTF-8. |
edit_mode |
String | Mode d’édition du travail, soit UI_LOCKED soit EDITABLE. |
email_notifications |
Map | Ensemble facultatif d’adresses e-mail qui sont averties lorsque les exécutions de ce travail commencent ou se terminent, ainsi que lorsque ce travail est supprimé. Voir email_notifications. |
environments |
Sequence | Liste des spécifications de l’environnement d’exécution des tâches qui peuvent être référencées par les tâches serverless de ce travail. Un environnement doit être présent pour les tâches sans serveur. Pour les tâches de notebook sans serveur, l'environnement est accessible depuis le panneau d'environnement du notebook. Pour d’autres tâches serverless, l’environnement de tâche doit être spécifié à l’aide de environment_key dans les paramètres de tâche. Consultez les environnements. |
format |
String | Deprecated. Format du travail. |
git_source |
Map | Spécification facultative d’un référentiel Git distant contenant le code source utilisé par les tâches. Voir job.git_source. Important : Les champs git_source et source, définis sur GIT, ne sont pas recommandés pour les bundles, car les chemins d'accès relatifs locaux peuvent ne pas pointer vers le même contenu dans le référentiel Git, et les bundles s'attendent à ce qu'un travail déployé ait un contenu identique à celui de la copie locale à partir de laquelle il a été déployé.Au lieu de cela, clonez le référentiel localement et configurez votre projet groupé dans ce référentiel afin que la source des tâches soit l’espace de travail. |
health |
Map | Ensemble facultatif de règles d’intégrité qui peuvent être définies pour ce travail. Voir santé. |
job_clusters |
Sequence | Liste des spécifications de cluster de travaux qui peuvent être partagées et réutilisées par les tâches de ce travail. Voir job_clusters. |
max_concurrent_runs |
Integer | Nombre maximal autorisé facultatif d’exécutions simultanées du travail. Définissez cette valeur si vous souhaitez pouvoir exécuter plusieurs exécutions du même travail simultanément. |
name |
String | Nom facultatif pour le poste. La longueur maximale est de 4 096 octets dans l’encodage UTF-8. |
notification_settings |
Map | Paramètres de notification facultatifs utilisés lors de l'envoi de notifications à chaque email_notifications et webhook_notifications pour ce poste. Voir notification_settings. |
parameters |
Sequence | Définitions de paramètres au niveau du travail. |
performance_target |
String | Définit comment la performance ou l'efficacité en termes de coût de l'exécution dans un environnement serverless devrait être. |
permissions |
Sequence | Autorisations du travail. Consultez les autorisations. |
queue |
Map | Paramètres de file d’attente du travail. Voir file d’attente. |
run_as |
Map | Paramètre en écriture seule. Spécifie l’utilisateur ou le principal de service sous lequel le travail s’exécute. S’il n’est pas spécifié, la tâche s’exécute en tant qu’utilisateur qui a créé la tâche. Soit user_name ou service_principal_name doit être spécifié. Si elle ne l’est pas, une erreur est générée. Voir run_as. |
schedule |
Map | Planification périodique facultative pour ce travail. Le comportement par défaut est que le travail s’exécute uniquement lorsqu’il est déclenché en cliquant sur « Exécuter maintenant » dans l’interface utilisateur des travaux ou en envoyant une demande d’API à runNow. Consultez la planification. |
tags |
Map | Carte des balises associées au travail. Ceux-ci sont transférés au cluster en tant que balises de cluster pour les clusters de travaux et sont soumis aux mêmes limitations que les balises de cluster. Un maximum de 25 balises peuvent être ajoutées au poste. |
tasks |
Sequence | Liste des spécifications de tâche à exécuter par ce travail. Consultez Ajouter des tâches à des travaux dans les bundles de ressources Databricks. |
timeout_seconds |
Integer | Délai d’attente facultatif appliqué à chaque exécution de ce travail. Valeur de 0 signifie qu’aucun délai d’expiration n’est nécessaire. |
trigger |
Map | Configuration permettant de déclencher une exécution lorsque certaines conditions sont remplies. Voir déclencheur. |
webhook_notifications |
Map | Une collection d'ID de notification système pour avertir lorsque ce travail commence ou se termine. Voir webhook_notifications. |
job.continuous
Type: Map
Configuration pour l’exécution continue du travail.
| Key | Type | Description |
|---|---|---|
pause_status |
String | Indique si le travail continu est suspendu ou non. Valeurs valides : PAUSED, UNPAUSED. |
task_retry_mode |
String | Indiquez comment le travail continu applique les tentatives de reprise au niveau de la tâche. Les valeurs valides sont NEVER et ON_FAILURE. La valeur par défaut est NEVER. |
job.deployment
Type: Map
Informations de déploiement pour les travaux gérés par des sources externes.
| Key | Type | Description |
|---|---|---|
kind |
String | Type de déploiement. Par exemple : BUNDLE. |
metadata_file_path |
String | Chemin d’accès au fichier de métadonnées du déploiement. |
emploi.notifications_par_email
Type: Map
Paramètres de notification par e-mail pour les exécutions de travaux.
| Key | Type | Description |
|---|---|---|
on_start |
Sequence | Liste des adresses e-mail à notifier lorsqu’une exécution démarre. |
on_success |
Sequence | Liste des adresses e-mail à notifier lorsqu’une exécution réussit. |
on_failure |
Sequence | Liste des adresses e-mail à notifier lorsqu’une exécution échoue. |
on_duration_warning_threshold_exceeded |
Sequence | Liste des adresses e-mail à notifier lorsqu’une durée d’exécution dépasse le seuil d’avertissement. |
no_alert_for_skipped_runs |
Boolean | Indique s'il faut ne pas envoyer d'alertes pour les exécutions sautées. |
environnements.d'emploi
Type: Sequence
Liste des spécifications de l'environnement d'exécution des tâches pouvant être référencées par des tâches serverless d’un processus.
Chaque élément de la liste est un JobEnvironment:
| Key | Type | Description |
|---|---|---|
environment_key |
String | Clé d’un environnement. Il doit être unique au sein d’un travail. |
spec |
Map | Entité qui représente un environnement serverless. Consultez job.environments.spec. |
job.environments.spec
Type: Map
Entité qui représente un environnement serverless.
| Key | Type | Description |
|---|---|---|
client |
String | Deprecated. Version du client. |
dependencies |
Sequence | Liste des dépendances pip, comme pris en charge par la version de pip dans cet environnement. |
environment_version |
String | Obligatoire. Version de l’environnement utilisée par l’environnement. Chaque version est fournie avec une version de Python spécifique et un ensemble de packages Python. La version est une chaîne composée d’un entier. |
job.git_source
Type: Map
Configuration du référentiel Git pour le code source du travail.
| Key | Type | Description |
|---|---|---|
git_branch |
String | Nom de la branche à vérifier et utiliser par ce processus. Ce champ ne peut pas être spécifié conjointement avec git_tag ou git_commit. |
git_commit |
String | Validez pour être extrait et utilisé par ce travail. Ce champ ne peut pas être spécifié conjointement avec git_branch ou git_tag. |
git_provider |
String | Identificateur unique du service utilisé pour héberger le dépôt Git. La valeur est insensible à la casse. Les valeurs valides sont gitHub, , bitbucketCloudgitLab, azureDevOpsServicesgitHubEnterprise, bitbucketServer, gitLabEnterpriseEdition. |
git_snapshot |
Map | État en lecture seule du référentiel distant au moment de l’exécution de la tâche. Ce champ n’est inclus que lors des lancements de tâches. Voir git_snapshot. |
git_tag |
String | Nom de la balise à extraire et utiliser par ce travail. Ce champ ne peut pas être spécifié conjointement avec git_branch ou git_commit. |
git_url |
String | URL du référentiel à cloner par ce travail. |
job.git_source.git_snapshot
Type: Map
Capture instantanée des informations de validation en lecture seule.
| Key | Type | Description |
|---|---|---|
used_commit |
String | Validation utilisée pour exécuter l’exécution. S’il git_branch a été spécifié, cela pointe vers le HEAD de la branche au moment de l’exécution ; s’il git_tag a été spécifié, cela pointe vers la validation que la balise désigne. |
santé.du.travail
Type: Map
Configuration de la surveillance de l’état de la tâche.
| Key | Type | Description |
|---|---|---|
rules |
Sequence | Liste des règles de santé du travail. Chaque règle contient un metric et op (opérateur) et value. Consultez job.health.rules. |
règles.santé.travail
Type: Sequence
Liste des règles de santé du travail.
Chaque élément de la liste est un JobHealthRule:
| Key | Type | Description |
|---|---|---|
metric |
String | Spécifie la métrique de santé évaluée pour une règle de santé particulière.
|
op |
String | Spécifie l’opérateur utilisé pour comparer la valeur de métrique d’intégrité au seuil spécifié. |
value |
Integer | Spécifie la valeur de seuil que la métrique d’intégrité doit respecter pour satisfaire la règle d’intégrité. |
tâche.tâches_regroupées
Type: Sequence
Liste des spécifications de cluster de travaux qui peuvent être partagées et réutilisées par les tâches de ce travail. Les bibliothèques ne peuvent pas être déclarées dans un cluster de travaux partagés. Vous devez déclarer des bibliothèques dépendantes dans les paramètres de tâche.
Chaque élément de la liste est un JobCluster:
| Key | Type | Description |
|---|---|---|
job_cluster_key |
String | Nom unique du cluster de travaux. Ce champ est obligatoire et doit être unique dans le travail.
JobTaskSettings peut faire référence à ce champ pour déterminer le cluster à lancer pour l’exécution de la tâche. |
new_cluster |
Map | Si new_cluster, description d’un cluster créé pour chaque tâche. Voir cluster. |
tâche.paramètres_de_notification
Type: Map
Paramètres de notification qui s’appliquent à toutes les notifications pour le travail.
| Key | Type | Description |
|---|---|---|
no_alert_for_skipped_runs |
Boolean | Indique s'il faut ne pas envoyer d'alertes pour les exécutions sautées. |
no_alert_for_canceled_runs |
Boolean | Détermine si l’envoi d’alertes pour les exécutions annulées doit être ignoré. |
job.queue
Type: Map
Paramètres de file d’attente de la tâche.
| Key | Type | Description |
|---|---|---|
enabled |
Boolean | Indique s’il faut activer la mise en file d’attente pour le travail. |
job.schedule
Type: Map
Planifiez la configuration pour l’exécution périodique du travail.
| Key | Type | Description |
|---|---|---|
quartz_cron_expression |
String | Expression Cron utilisant la syntaxe Quartz qui spécifie quand la tâche s’exécute. Par exemple, 0 0 9 * * ? exécute le travail tous les jours à 9h00 UTC. |
timezone_id |
String | Fuseau horaire de la planification. Par exemple, America/Los_Angeles ou UTC. |
pause_status |
String | Indique si la planification est suspendue ou non. Valeurs valides : PAUSED, UNPAUSED. |
job.déclencheur
Type: Map
Configuration de déclenchement pour l'exécution du travail piloté par les événements.
| Key | Type | Description |
|---|---|---|
file_arrival |
Map | Déclencheur activé par l'arrivée d'un fichier. Voir file_arrival. |
table |
Map | Activation basée sur un tableau. Voir le tableau. |
table_update |
Map | Déclencheur basé sur les mises à jour des tables. Voir table_update. |
periodic |
Map | Déclencheur périodique. Voir périodique. |
job.déclencheur.arrivée_fichier
Type: Map
Déclenchez la configuration en fonction de l’arrivée du fichier.
| Key | Type | Description |
|---|---|---|
url |
String | Le chemin d’accès au répertoire à surveiller pour de nouveaux fichiers. |
min_time_between_triggers_seconds |
Integer | Durée minimale en secondes entre les événements déclencheurs. |
wait_after_last_change_seconds |
Integer | Délai d’attente en secondes après la dernière modification du fichier avant le déclenchement. |
job.trigger.table
Type: Map
Déclencher la configuration en fonction d’une table.
| Key | Type | Description |
|---|---|---|
table_names |
Sequence | Liste des noms de tables à surveiller. |
condition |
String | Condition SQL qui doit être remplie pour déclencher le travail. |
job.trigger.table_update
Type: Map
Configuration de déclencheur basée sur les mises à jour de la table.
| Key | Type | Description |
|---|---|---|
table_names |
Sequence | Liste des noms de tables à surveiller pour les mises à jour. |
condition |
String | Condition SQL qui doit être remplie pour déclencher le travail. |
wait_after_last_change_seconds |
Integer | Délai d’attente en secondes après la dernière mise à jour de la table avant le déclenchement. |
job.déclencheur.périodique
Type: Map
Configuration du déclencheur périodique
| Key | Type | Description |
|---|---|---|
interval |
Integer | Valeur d’intervalle du déclencheur périodique. |
unit |
String | Unité de temps pour l’intervalle. Valeurs valides : SECONDS, , MINUTESHOURS, . DAYSWEEKS |
job.webhook_notifications
Type: Map
Paramètres de notification webhook pour les exécutions de tâches.
| Key | Type | Description |
|---|---|---|
on_start |
Sequence | Liste des ID de notification de webhook à notifier lorsqu’une exécution démarre. |
on_success |
Sequence | Liste des ID de notification de webhook à notifier lorsqu’une exécution réussit. |
on_failure |
Sequence | Liste des ID de notification de webhook à notifier lorsqu’une exécution échoue. |
on_duration_warning_threshold_exceeded |
Sequence | Liste des ID de notification de webhook à utiliser lorsqu'une durée d'une exécution dépasse le seuil d'avertissement. |
Examples
L'exemple suivant définit une tâche avec la clé de ressource hello-job et une tâche de carnet :
resources:
jobs:
hello-job:
name: hello-job
tasks:
- task_key: hello-task
notebook_task:
notebook_path: ./hello.py
L’exemple suivant définit un travail avec un notebook SQL :
resources:
jobs:
job_with_sql_notebook:
name: 'Job to demonstrate using a SQL notebook with a SQL warehouse'
tasks:
- task_key: notebook
notebook_task:
notebook_path: ./select.sql
warehouse_id: 799f096837fzzzz4
Pour obtenir des exemples de configuration de travail supplémentaires, consultez Configuration du travail.
Pour plus d’informations sur la définition des tâches et la substitution des paramètres de travail, consultez :
- Ajouter des tâches à des travaux dans databricks Asset Bundles
- Remplacement des paramètres de tâche de travail
modèle (hérité)
Type: Map
La ressource de modèle vous permet de définir des modèles hérités dans les packs. Databricks vous recommande plutôt d'utiliser les modèles enregistrés dans le catalogue Unity .
point_de_serveur_de_modèle
Type: Map
La ressource model_serving_endpoint vous permet de définir des points de terminaison de service de modèles. Consultez Gérer les points de terminaison de mise en service de modèles.
model_serving_endpoints:
<model_serving_endpoint-name>:
<model_serving_endpoint-field-name>: <model_serving_endpoint-field-value>
| Key | Type | Description |
|---|---|---|
ai_gateway |
Map | Configuration de la passerelle IA pour le point de terminaison de mise en service. REMARQUE : Seuls les points de terminaison du modèle externe et du débit approvisionné sont actuellement pris en charge. Voir ai_gateway. |
config |
Map | Configuration principale du point de terminaison de mise en service. Consultez la configuration. |
name |
String | Le nom de l’endpoint de service. Ce champ est obligatoire et doit être unique dans un espace de travail Databricks. Un nom de point de terminaison peut se composer de caractères alphanumériques, de tirets et de traits de soulignement. |
permissions |
Sequence | Autorisations du point de terminaison de mise en service. Consultez les autorisations. |
rate_limits |
Sequence | Deprecated. Limites de débit à appliquer au point de terminaison de mise en service. Utilisez la passerelle IA pour gérer les limites de débit. |
route_optimized |
Boolean | Activez l’optimisation de l’itinéraire pour le point de terminaison de service. |
tags |
Sequence | Balises à joindre au point de terminaison de service et propagées automatiquement aux journaux de facturation. |
model_serving_endpoint.ai_gateway
Type: Map
Configuration de la passerelle d'intelligence artificielle pour le terminal de service.
| Key | Type | Description |
|---|---|---|
guardrails |
Map | Configuration du garde-fou. Voir garde-fous. |
inference_table_config |
Map | Configuration de la journalisation de l’inférence dans les tables du catalogue Unity. Voir inference_table_config. |
rate_limits |
Sequence | Configurations de limite de débit. |
usage_tracking_config |
Map | Configuration pour le suivi de l’utilisation. Voir usage_tracking_config. |
model_serving_endpoint.ai_gateway.garde-fous
Type: Map
Configuration des garde-fous de passerelle IA.
| Key | Type | Description |
|---|---|---|
input |
Map | Configuration des garde-fous d’entrée avec des champs tels que safety, pii. |
output |
Map | Configuration des garde-fous de sortie avec des champs tels que safety, pii. |
invalid_keywords |
Sequence | Liste de mots clés à bloquer. |
model_serving_endpoint.ai_gateway.inference_table_config
Type: Map
Configuration de la journalisation de l’inférence dans les tables du catalogue Unity.
| Key | Type | Description |
|---|---|---|
catalog_name |
String | Nom du catalogue dans le catalogue Unity. |
schema_name |
String | Nom du schéma dans le catalogue Unity. |
table_name_prefix |
String | Préfixe pour les noms de tables d’inférence. |
enabled |
Boolean | Indique si la journalisation des tables d’inférence est activée. |
model_serving_endpoint.ai_gateway.usage_tracking_config
Type: Map
Configuration de la passerelle IA pour le suivi de l’utilisation.
| Key | Type | Description |
|---|---|---|
enabled |
Boolean | Indique si le suivi de l’utilisation est activé. |
model_serving_endpoint.config
Type: Map
Configuration principale de l'endpoint de service.
| Key | Type | Description |
|---|---|---|
served_entities |
Sequence | Liste des entités servies pour le point de terminaison à servir. Chaque entité servie contient des champs tels que entity_name, , entity_versionworkload_sizescale_to_zero_enabled, , workload_type, . environment_vars |
served_models |
Sequence | (Déconseillé : utiliser served_entities à la place) Liste de modèles servis pour le point de terminaison à servir. |
traffic_config |
Map | Configuration de trafic définissant comment les requêtes vers le point d'accès doivent être routées. Voir traffic_config. |
auto_capture_config |
Map | Configuration des tables d’inférence qui journalise automatiquement les demandes et les réponses au catalogue Unity. Voir auto_capture_config. |
model_serving_endpoint.config.traffic_config
Type: Map
Configuration de trafic définissant comment les requêtes vers le point d'accès doivent être routées.
| Key | Type | Description |
|---|---|---|
routes |
Sequence | Liste des itinéraires pour la distribution du trafic. Chaque itinéraire contient served_model_name et traffic_percentage. |
point_d'accès_de_service_de_modèle.config.capture_automatique_config
Type: Map
Configuration des tables d’inférence qui journalise automatiquement les demandes et les réponses au catalogue Unity.
| Key | Type | Description |
|---|---|---|
catalog_name |
String | Nom du catalogue dans le catalogue Unity. |
schema_name |
String | Nom du schéma dans le catalogue Unity. |
table_name_prefix |
String | Préfixe pour les noms de tables d’inférence. |
enabled |
Boolean | Indique si la journalisation des tables d’inférence est activée. |
Example
L’exemple suivant définit un point de terminaison de mise en service de modèles pour Unity Catalog :
resources:
model_serving_endpoints:
uc_model_serving_endpoint:
name: 'uc-model-endpoint'
config:
served_entities:
- entity_name: 'myCatalog.mySchema.my-ads-model'
entity_version: '10'
workload_size: 'Small'
scale_to_zero_enabled: 'true'
traffic_config:
routes:
- served_model_name: 'my-ads-model-10'
traffic_percentage: '100'
tags:
- key: 'team'
value: 'data science'
chaîne de traitement
Type: Map
Les pipelines sont pris en charge dans Python pour les bundles de ressources Databricks. Consultez databricks.bundles.pipelines.
La ressource de pipeline vous permet de créer des pipelines. Pour plus d’informations sur les pipelines, consultez Pipelines déclaratifs Spark Lakeflow. Pour obtenir un didacticiel qui utilise le modèle Databricks Asset Bundles pour créer un pipeline, consultez Développer des pipelines déclaratifs Spark Lakeflow avec des bundles de ressources Databricks.
pipelines:
<pipeline-name>:
<pipeline-field-name>: <pipeline-field-value>
| Key | Type | Description |
|---|---|---|
allow_duplicate_names |
Boolean | Si la valeur est false, le déploiement échoue si le nom est en conflit avec celui d’un autre pipeline. |
budget_policy_id |
String | Stratégie budgétaire de ce pipeline. |
catalog |
String | Catalogue dans Unity Catalog dans lequel publier des données à partir de ce pipeline. Si target est spécifiée, les tables de ce pipeline sont publiées dans un schéma target à l’intérieur de catalog (par exemple, catalog.target.table). Si target n’est pas spécifié, aucune donnée n’est publiée dans le catalogue Unity. |
channel |
String | Canal de diffusion des pipelines déclaratifs Lakeflow Spark spécifiant quelle version utiliser. |
clusters |
Sequence | Paramètres du cluster pour ce déploiement de pipeline. Voir cluster. |
configuration |
Map | Configuration de cette exécution de pipeline. |
continuous |
Boolean | Indiquez si le pipeline est continu ou déclenché. Cela remplace trigger. |
deployment |
Map | Type de déploiement de ce pipeline. Consultez Déploiement. |
development |
Boolean | Indique si le pipeline est en mode développement. La valeur par défaut est false. |
dry_run |
Boolean | Indique si le pipeline est un pipeline de test à blanc. |
edition |
String | Édition de produit du pipeline. |
environment |
Map | Spécification de l’environnement de ce pipeline, utilisée pour installer des dépendances sur le calcul sans serveur. Consultez l’environnement. Cette clé est uniquement prise en charge dans Databricks CLI version 0.258 et ultérieure. |
event_log |
Map | Configuration du journal des événements pour ce pipeline. Voir event_log. |
filters |
Map | Filtres qui déterminent les packages de pipeline à inclure dans le graphique déployé. Consultez les filtres. |
id |
String | Identificateur unique pour ce pipeline. |
ingestion_definition |
Map | Configuration d’un pipeline d’ingestion managé. Ces paramètres ne peuvent pas être utilisés avec les paramètres libraries, schema, target, ou catalog. Voir ingestion_definition. |
libraries |
Sequence | Liste des bibliothèques ou du code nécessaires par ce déploiement. Consultez pipeline.libraries. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom convivial de ce pipeline. |
notifications |
Sequence | Paramètres de notification pour ce pipeline. |
permissions |
Sequence | Autorisations du pipeline. Consultez les autorisations. |
photon |
Boolean | Indique si Photon est activé pour ce pipeline. |
root_path |
String | Chemin racine de ce pipeline. Il est utilisé comme répertoire racine lors de la modification du pipeline dans l’interface utilisateur Databricks et il est ajouté à sys.path lors de l’exécution de sources Python pendant l’exécution du pipeline. |
run_as |
Map | Identité sous laquelle le pipeline s’exécute. S'il n'est pas spécifié, le pipeline s'exécute en tant que l'utilisateur qui a créé le pipeline. Seuls user_name ou service_principal_name peuvent être spécifiés. Si les deux sont spécifiés, une erreur est levée. Voir run_as. |
schema |
String | Schéma par défaut (base de données) dans lequel les tables sont lues ou publiées. |
serverless |
Boolean | Indique si le calcul "serverless" est activé pour ce pipeline. |
storage |
String | Répertoire racine DBFS pour le stockage de points de contrôle et de tables. |
tags |
Map | Carte des balises associées au pipeline. Ils sont transférés au cluster en tant que balises de cluster et sont donc soumis aux mêmes limitations. Un maximum de 25 balises peut être ajouté au pipeline. |
target |
String | Schéma cible (base de données) pour ajouter des tables dans ce pipeline. Exactement l’un des schema ou target doit être spécifié. Pour publier dans le catalogue Unity, spécifiez catalogégalement . Ce champ hérité est déconseillé pour la création de pipelines, il est préférable d'utiliser le champ schema. |
pipeline.deploiement
Type: Map
Configuration du type de déploiement pour le pipeline.
| Key | Type | Description |
|---|---|---|
kind |
String | Type de déploiement. Par exemple : BUNDLE. |
metadata_file_path |
String | Chemin d’accès au fichier de métadonnées du déploiement. |
pipeline.environnement
Type: Map
Spécification d'environnement pour l'installation des dépendances sur une infrastructure serverless.
| Key | Type | Description |
|---|---|---|
dependencies |
Sequence | Liste des dépendances pip, conforme à la version de pip prise en charge dans cet environnement. Chaque dépendance est une ligne de fichier d’exigence pip. |
pipeline.journal_des_événements
Type: Map
Configuration du journal des événements pour le pipeline.
| Key | Type | Description |
|---|---|---|
catalog |
String | Le catalogue Unity sous lequel le journal d'événements est publié. |
name |
String | Le nom sous lequel le journal des événements est publié dans Unity Catalog. |
schema |
String | Le schéma du catalogue Unity sous lequel le journal des événements est publié. |
pipeline.filtres
Type: Map
Filtres qui déterminent les packages de pipeline à inclure dans le graphique déployé.
| Key | Type | Description |
|---|---|---|
include |
Sequence | Liste des noms de package à inclure. |
exclude |
Sequence | Liste des noms de package à exclure. |
pipeline.ingestion_definition
Type: Map
Configuration d’un pipeline d’ingestion managé. Ces paramètres ne peuvent pas être utilisés avec les paramètres libraries, schema, target, ou catalog.
| Key | Type | Description |
|---|---|---|
connection_name |
String | Nom de la connexion à utiliser pour l’ingestion. |
ingestion_gateway_id |
String | L'identifiant de la passerelle d'ingestion. |
objects |
Sequence | Obligatoire. Paramètres spécifiant les tables à répliquer et la destination des tables répliquées. Chaque objet peut être un SchemaSpec, TableSpec ou ReportSpec. |
source_configuration |
Map | Paramètres de configuration source au niveau du catalogue. Voir source_configuration. |
table_configuration |
Map | Configuration des tables d’ingestion. Voir table_configuration. |
SchemaSpec
Type: Map
Spécification de l’objet de schéma pour l’ingestion de toutes les tables à partir d’un schéma.
| Key | Type | Description |
|---|---|---|
source_schema |
String | Nom du schéma source à ingérer. |
destination_catalog |
String | Nom du catalogue de destination dans le catalogue Unity. |
destination_schema |
String | Nom du schéma de destination dans le catalogue Unity. |
table_configuration |
Map | Configuration à appliquer à toutes les tables de ce schéma. Consultez pipeline.ingestion_definition.table_configuration. |
TableSpec
Type: Map
Spécification de l’objet Table pour l’ingestion d’une table spécifique.
| Key | Type | Description |
|---|---|---|
source_schema |
String | Nom du schéma source contenant la table. |
source_table |
String | Le nom de la table source à ingérer. |
destination_catalog |
String | Nom du catalogue de destination dans le catalogue Unity. |
destination_schema |
String | Nom du schéma de destination dans le catalogue Unity. |
destination_table |
String | Nom de la table de destination dans le catalogue Unity. |
table_configuration |
Map | Configuration de cette table spécifique. Consultez pipeline.ingestion_definition.table_configuration. |
Spécification du Rapport
Type: Map
Spécification de l’objet rapport pour l’ingestion de rapports d’analyse.
| Key | Type | Description |
|---|---|---|
source_url |
String | URL du rapport source. |
source_report |
String | Nom ou identificateur du rapport source. |
destination_catalog |
String | Nom du catalogue de destination dans le catalogue Unity. |
destination_schema |
String | Nom du schéma de destination dans le catalogue Unity. |
destination_table |
String | Nom de la table de destination pour les données du rapport. |
table_configuration |
Map | Configuration de la table de rapports. Consultez pipeline.ingestion_definition.table_configuration. |
pipeline.ingestion_definition.source_configuration
Type: Map
Configuration de la source.
| Key | Type | Description |
|---|---|---|
catalog |
Map | Paramètres de configuration source au niveau du catalogue. Consultez le catalogue. |
pipeline.définition_d_ingestion.configuration_de_source.catalogue
Type: Map
Paramètres de configuration source au niveau du catalogue
| Key | Type | Description |
|---|---|---|
postgres |
Map | Paramètres de configuration au niveau du catalogue spécifiques à Postgres. Contient une clé slot_config qui est une Map représentant la configuration de l’emplacement Postgres à utiliser pour la réplication logique. |
source_catalog |
String | Nom du catalogue source. |
pipeline.ingestion_definition.table_configuration
Type: Map
Options de configuration pour les tables d’ingestion.
| Key | Type | Description |
|---|---|---|
exclude_columns |
Sequence | Liste des noms de colonnes à exclure pour l’ingestion. Lorsqu’elle n’est pas spécifiée, include_columns contrôle entièrement les colonnes à intégrer. Lorsqu’elles sont spécifiées, toutes les autres colonnes, y compris les futures, seront automatiquement incluses pour l’ingestion. Ce champ s’exclue mutuellement avec include_columns. |
include_columns |
Sequence | Liste des noms de colonnes à inclure pour l’ingestion. Lorsqu’elles ne sont pas spécifiées, toutes les colonnes à l’exception de celles-ci exclude_columns sont incluses. Les colonnes futures seront automatiquement incluses. Quand cette colonne est spécifiée, toutes les autres colonnes seront automatiquement exclues de l’ingestion. Ce champ s’exclue mutuellement avec exclude_columns. |
primary_keys |
Sequence | Liste des noms de colonnes à utiliser comme clés primaires pour la table. |
sequence_by |
Sequence | Noms de colonnes spécifiant l’ordre logique des événements dans les données sources. Les pipelines déclaratifs Spark utilisent ce séquencement pour gérer les événements de modification qui arrivent dans le désordre. |
pipeline.bibliothèques
Type: Sequence
Définit la liste des bibliothèques ou du code nécessaires par ce pipeline.
Chaque élément de la liste est une définition :
| Key | Type | Description |
|---|---|---|
file |
Map | Chemin d’accès à un fichier qui définit un pipeline et qui est stocké dans Databricks Repos. Consultez pipeline.libraries.file. |
glob |
Map | Champ unifié pour inclure du code source. Chaque entrée peut être un chemin d’accès au bloc-notes, un chemin d’accès au fichier ou un chemin d’accès de dossier qui se termine /**. Ce champ ne peut pas être utilisé avec notebook ou file. Consultez pipeline.libraries.glob. |
notebook |
Map | Chemin d’accès à un notebook qui définit un pipeline et qui est stocké dans l’espace de travail Databricks. Consultez pipeline.libraries.notebook. |
whl |
String | Ce champ est déconseillé |
pipeline.bibliothèques.fichier
Type: Map
Chemin d’accès à un fichier qui définit un pipeline et qui est stocké dans databricks Repos.
| Key | Type | Description |
|---|---|---|
path |
String | Chemin absolu du code source. |
pipeline.libraries.glob
Type: Map
Champ unifié pour inclure du code source. Chaque entrée peut être un chemin d’accès au bloc-notes, un chemin d’accès au fichier ou un chemin d’accès de dossier qui se termine /**. Ce champ ne peut pas être utilisé avec notebook ou file.
| Key | Type | Description |
|---|---|---|
include |
String | Code source à inclure pour les pipelines |
pipeline.libraries.notebook
Type: Map
Chemin d’accès à un notebook qui définit un pipeline et qui est stocké dans l’espace de travail Databricks.
| Key | Type | Description |
|---|---|---|
path |
String | Chemin absolu du code source. |
Example
L’exemple suivant définit un pipeline avec la clé de ressource hello-pipeline:
resources:
pipelines:
hello-pipeline:
name: hello-pipeline
clusters:
- label: default
num_workers: 1
development: true
continuous: false
channel: CURRENT
edition: CORE
photon: false
libraries:
- notebook:
path: ./pipeline.py
Pour obtenir des exemples de configuration de pipeline supplémentaires, consultez Configuration du pipeline.
moniteur_de_qualité (Unity Catalog)
Type: Map
La ressource quality_monitor vous permet de définir un moniteur de table Unity Catalog . Pour plus d’informations sur les moniteurs, consultez Profilage des données.
quality_monitors:
<quality_monitor-name>:
<quality_monitor-field-name>: <quality_monitor-field-value>
| Key | Type | Description |
|---|---|---|
assets_dir |
String | Répertoire permettant de stocker les ressources de surveillance (par exemple, tableau de bord, tables de métriques). |
baseline_table_name |
String | Nom de la table de référence à partir de laquelle les métriques de dérive sont calculées. Les colonnes de la table surveillée doivent également être présentes dans la table de référence. |
custom_metrics |
Sequence | Métriques personnalisées à calculer sur la table surveillée. Il peut s’agir de métriques agrégées, de métriques dérivées (à partir de métriques agrégées déjà calculées) ou de métriques de dérive (comparaison des métriques entre les fenêtres de temps). Voir custom_metrics. |
inference_log |
Map | Configuration pour le monitoring des journaux d’inférence. Voir inference_log. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
notifications |
Map | Paramètres de notification du moniteur. Consultez les notifications. |
output_schema_name |
String | Schéma dans lequel les tables de métriques de sortie sont créées. |
schedule |
Map | Planification de la mise à jour et de l’actualisation automatique des tables de métriques. Consultez la planification. |
skip_builtin_dashboard |
Boolean | Indique s’il faut ignorer la création d’un tableau de bord par défaut récapitunant les métriques de qualité des données. |
slicing_exprs |
Sequence | Liste des expressions de colonne à découper des données avec pour une analyse ciblée. Les données sont regroupées par chaque expression indépendamment, ce qui aboutit à une tranche distincte pour chaque prédicat et ses compléments. Pour les colonnes à cardinalité élevée, seules les 100 premières valeurs uniques par fréquence génèrent des tranches. |
snapshot |
Map | Configuration pour le monitoring des tables d’instantanés. Voir capture instantanée. |
table_name |
String | Nom complet de la table. |
time_series |
Map | Configuration pour le monitoring des tables de série chronologique. Voir time_series. |
warehouse_id |
String | Argument facultatif pour spécifier l’entrepôt pour la création du tableau de bord. S’il n’est pas spécifié, le premier entrepôt actif sera utilisé. |
quality_monitor.indicateurs_personnalisés
Type: Sequence
Liste des définitions de métrique personnalisées.
Chaque élément de la liste est un CustomMetric:
| Key | Type | Description |
|---|---|---|
definition |
String | Modèle Jinja pour une expression SQL qui spécifie comment calculer la métrique. Consultez créer une définition de métrique. |
input_columns |
Sequence | Liste des noms de colonnes dans la table d’entrée pour laquelle la métrique doit être calculée. Peut utiliser :table pour indiquer que la métrique a besoin d’informations à partir de plusieurs colonnes. |
name |
String | Nom de la métrique dans les tables de sortie. |
output_data_type |
String | Type de sortie de la métrique personnalisée. |
type |
String | Ne peut être qu’un seul de CUSTOM_METRIC_TYPE_AGGREGATE, CUSTOM_METRIC_TYPE_DERIVEDou CUSTOM_METRIC_TYPE_DRIFT. Les métriques CUSTOM_METRIC_TYPE_AGGREGATE et CUSTOM_METRIC_TYPE_DERIVED sont calculées sur une table unique, tandis que les métriques CUSTOM_METRIC_TYPE_DRIFT comparent les données entre la base de référence et la table d'entrée, ou entre deux fenêtres temporelles consécutives.
|
quality_monitor.data_classification_config
Type: Map
Configuration de la classification des données.
| Key | Type | Description |
|---|---|---|
enabled |
Boolean | Indique si la classification des données est activée. |
quality_monitor.inference_log
Type: Map
Configuration pour le monitoring des journaux d’inférence.
| Key | Type | Description |
|---|---|---|
granularities |
Sequence | Granularités temporelles pour l’agrégation des fichiers de logs d’inférence (par exemple, ["1 day"]). |
model_id_col |
String | Nom de la colonne contenant l’ID de modèle. |
prediction_col |
String | Nom de la colonne contenant la prédiction. |
timestamp_col |
String | Nom de la colonne contenant l’horodatage. |
problem_type |
String | Le type de problème ML. Les valeurs valides incluent PROBLEM_TYPE_CLASSIFICATION, PROBLEM_TYPE_REGRESSION. |
label_col |
String | Nom de la colonne contenant l’étiquette (vérité au sol). |
quality_monitor.notifcations
Type: Map
Paramètres de notification pour le moniteur.
| Key | Type | Description |
|---|---|---|
on_failure |
Map | Paramètres de notification lorsque le moniteur échoue. Voir on_failure. |
on_new_classification_tag_detected |
Map | Paramètres de notification lorsque de nouvelles balises de classification sont détectées. Voir on_new_classification_tag_detected. |
monitor_qualité.notifications.échec
Type: Map
Paramètres de notification lorsque le moniteur échoue.
| Key | Type | Description |
|---|---|---|
email_addresses |
Sequence | Liste des adresses e-mail à notifier lors de l’échec du moniteur. |
moniteur_qualité.notifications.lorsqu_nouveau_tag_de_classification_detecté
Type: Map
Paramètres de notification lorsque de nouvelles balises de classification sont détectées.
| Key | Type | Description |
|---|---|---|
email_addresses |
Sequence | Liste des adresses e-mail à notifier quand de nouvelles balises de classification sont détectées. |
quality_monitor.schedule
Type: Map
Planifiez la mise à jour et l’actualisation automatique des tables de métriques.
| Key | Type | Description |
|---|---|---|
quartz_cron_expression |
String | Expression Cron utilisant la syntaxe Quartz. Par exemple, 0 0 8 * * ? s’exécute tous les jours à 8h00. |
timezone_id |
String | Fuseau horaire de la planification (par exemple, UTC, America/Los_Angeles). |
pause_status |
String | Indique si la planification est suspendue. Valeurs valides : PAUSED, UNPAUSED. |
moniteur_qualité.snapshot
Type: Map
Configuration pour le monitoring des tables d’instantanés.
quality_monitor.séries_temporelles
Configuration pour le monitoring des tables de série chronologique.
| Key | Type | Description |
|---|---|---|
granularities |
Sequence | Granularités temporelles pour l’agrégation des données de série chronologique (par exemple, ["30 minutes"]). |
timestamp_col |
String | Nom de la colonne contenant l’horodatage. |
Examples
Pour obtenir un exemple complet de pack qui définit un quality_monitor, consultez le pack mlops_demo.
Les exemples suivants définissent des moniteurs de qualité pour les types de profil InferenceLog, TimeSeries et Snapshot .
# InferenceLog profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
inference_log:
granularities: [1 day]
model_id_col: model_id
prediction_col: prediction
label_col: price
problem_type: PROBLEM_TYPE_REGRESSION
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
# TimeSeries profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
time_series:
granularities: [30 minutes]
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
# Snapshot profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
snapshot: {}
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
registered_model (catalogue Unity)
Type: Map
La ressource de modèle inscrite vous permet de définir des modèles dans le catalogue Unity. Pour découvrir plus d’informations sur les modèles enregistrés d’Unity Catalog, consultez Gérer le cycle de vie des modèles dans Unity Catalog.
registered_models:
<registered_model-name>:
<registered_model-field-name>: <registered_model-field-value>
| Key | Type | Description |
|---|---|---|
aliases |
Sequence | Liste des alias associés au modèle inscrit. Consultez registered_model.aliases. |
browse_only |
Boolean | Indique si le principal est limité à la récupération des métadonnées de l’objet associé via le privilège BROWSE lorsque include_browse est activé dans la requête. |
catalog_name |
String | Nom du catalogue où résident le schéma et le modèle inscrit. |
comment |
String | Commentaire attaché au modèle enregistré. |
full_name |
String | Le nom qualifié complet (en trois niveaux) du modèle enregistré |
grants |
Sequence | Subventions associées au modèle enregistré. Consultez l’octroi. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom du modèle inscrit. |
schema_name |
String | Nom du schéma où réside le modèle inscrit. |
storage_location |
String | Emplacement de stockage sur le cloud sous lequel les fichiers de données de version du modèle sont stockés. |
registered_model.aliases
Type: Sequence
Liste des alias associés au modèle inscrit.
Chaque élément de la liste est un Alias:
| Key | Type | Description |
|---|---|---|
alias_name |
String | Nom de l’alias, par exemple « champion » ou « latest_stable » |
catalog_name |
String | Nom du catalogue contenant la version du modèle |
id |
String | Identificateur unique de l’alias |
model_name |
String | Nom du modèle enregistré parent de la version de modèle, en lien avec le schéma parent |
schema_name |
String | Nom du schéma contenant la version du modèle, par rapport au catalogue parent |
version_num |
Integer | Numéro de version entier de la version du modèle vers laquelle cet alias pointe. |
Example
L’exemple suivant définit un modèle inscrit dans le catalogue Unity :
resources:
registered_models:
model:
name: my_model
catalog_name: ${bundle.target}
schema_name: mlops_schema
comment: Registered model in Unity Catalog for ${bundle.target} deployment target
grants:
- privileges:
- EXECUTE
principal: account users
schéma (Unity Catalog)
Type: Map
Les schémas sont pris en charge dans Python pour les bundles de ressources Databricks. Consultez databricks.bundles.schemas.
Le type de ressource de schéma vous permet de définir des schémas de catalogue Unity pour les tables et autres ressources de vos flux de travail et pipelines créés dans le cadre d’un bundle. Un schéma, différent des autres types de ressources, présente les limitations suivantes :
- Le propriétaire d’une ressource de schéma est toujours l’utilisateur de déploiement et ne peut pas être modifié. Si
run_asest spécifié dans le bundle, il est ignoré par les opérations sur le schéma. - Seuls les champs pris en charge par l’API de création d’objet Schemas correspondante sont disponibles pour la ressource de schéma. Par exemple,
enable_predictive_optimizationn’est pas pris en charge, car il n’est disponible que sur l’API de mise à jour.
schemas:
<schema-name>:
<schema-field-name>: <schema-field-value>
| Key | Type | Description |
|---|---|---|
catalog_name |
String | Nom du catalogue parent. |
comment |
String | Description de texte libre fournie par l’utilisateur. |
grants |
Sequence | Octrois associés au schéma. Consultez l’octroi. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom du schéma, relatif au catalogue parent. |
properties |
Map | Carte des propriétés clé-valeur attachées au schéma. |
storage_root |
String | URL racine de stockage pour les tables managées dans le schéma. |
Examples
L’exemple suivant définit un pipeline avec la clé de ressource my_pipeline qui crée un schéma de catalogue Unity avec la clé my_schema comme cible :
resources:
pipelines:
my_pipeline:
name: test-pipeline-{{.unique_id}}
libraries:
- notebook:
path: ../src/nb.ipynb
- file:
path: ../src/range.sql
development: true
catalog: ${resources.schemas.my_schema.catalog_name}
target: ${resources.schemas.my_schema.id}
schemas:
my_schema:
name: test-schema-{{.unique_id}}
catalog_name: main
comment: This schema was created by Databricks Asset Bundles.
Un mappage d’octrois de niveau supérieur n’est pas pris en charge par les bundles de ressources Databricks. Par conséquent, si vous souhaitez définir des subventions pour un schéma, définissez les subventions pour le schéma au sein du mappage schemas. Pour plus d’informations sur les subventions, consultez Afficher, accorder et révoquer des privilèges.
L’exemple suivant définit un schéma de catalogue Unity avec des subventions :
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main
secret_scope
Type: Map
La ressource secret_scope vous permet de définir des étendues secrètes dans un bundle. Pour plus d’informations sur les étendues de secret, consultez Gestion des secrets.
secret_scopes:
<secret_scope-name>:
<secret_scope-field-name>: <secret_scope-field-value>
| Key | Type | Description |
|---|---|---|
backend_type |
String | Type de back-end avec lequel l’étendue sera créée. Si ce n’est pas spécifié, cette valeur par défaut est DATABRICKS. |
keyvault_metadata |
Map | Métadonnées de l’étendue du secret si la valeur backend_type indique AZURE_KEYVAULT. Voir keyvault_metadata. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom de l’étendue demandé par l’utilisateur. Les noms d’étendues sont uniques. |
permissions |
Sequence | Autorisations à appliquer à l’étendue du secret. Les autorisations sont gérées via des listes de contrôle d’accès d’étendue secrète. Consultez les autorisations. |
secret_scope.keyvault_metadata
Type: Map
Métadonnées pour les étendues secrètes sauvegardées par Azure Key Vault.
| Key | Type | Description |
|---|---|---|
resource_id |
String | ID de ressource du coffre de clés Azure. |
dns_name |
String | Nom DNS d’Azure Key Vault. |
Examples
L'exemple suivant définit une étendue secrète qui utilise un backend de coffre-fort de clés :
resources:
secret_scopes:
secret_scope_azure:
name: test-secrets-azure-backend
backend_type: 'AZURE_KEYVAULT'
keyvault_metadata:
resource_id: my_azure_keyvault_id
dns_name: my_azure_keyvault_dns_name
L’exemple suivant définit une liste de contrôle d’accès personnalisée à l’aide d’étendues et d’autorisations secrètes :
resources:
secret_scopes:
my_secret_scope:
name: my_secret_scope
permissions:
- user_name: admins
level: WRITE
- user_name: users
level: READ
Pour obtenir un exemple de bundle illustrant comment définir une étendue de secret et un travail avec une tâche qui la lit dans un bundle, consultez le dépôt GitHub bundle-examples.
sql_warehouse
Type: Map
La ressource SQL Warehouse vous permet de définir un entrepôt SQL dans un bundle. Pour plus d’informations sur les entrepôts SQL, consultez l’entreposage de données sur Azure Databricks.
sql_warehouses:
<sql-warehouse-name>:
<sql-warehouse-field-name>: <sql-warehouse-field-value>
| Key | Type | Description |
|---|---|---|
auto_stop_mins |
Integer | Durée en minutes pendant laquelle un entrepôt SQL doit être inactif (par exemple, aucune requête RUNNING), avant d’être automatiquement arrêté. Les valeurs valides sont 0, ce qui indique l'absence d'arrêt automatique, ou supérieures ou égales à 10. La valeur par défaut est 120. |
channel |
Map | Détails de la chaîne. Voir le canal |
cluster_size |
String | Taille des clusters alloués pour cet entrepôt de données. L’augmentation de la taille d’un cluster Spark vous permet d’exécuter des requêtes plus volumineuses. Si vous souhaitez augmenter le nombre de requêtes simultanées, paramétrez max_num_clusters. Pour connaître les valeurs prises en charge, consultez cluster_size. |
creator_name |
String | Nom de l’utilisateur qui a créé l’entrepôt. |
enable_photon |
Boolean | Indique si l’entrepôt doit utiliser des clusters photon optimisés. La valeur par défaut est false. |
enable_serverless_compute |
Boolean | Indique si l’entrepôt doit utiliser le calcul sans serveur. |
instance_profile_arn |
String | Deprecated. Profil d’instance utilisé pour passer le rôle IAM au cluster, |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
max_num_clusters |
Integer | Nombre maximal de clusters créés par l’autoscaler pour gérer les requêtes simultanées. Les valeurs doivent être inférieures ou égales à 30 et supérieures ou égales à min_num_clusters. La valeur par défaut est min_clusters si elle n’est pas définie. |
min_num_clusters |
Integer | Nombre minimal de clusters disponibles qui seront conservés pour cet entrepôt SQL. L’augmentation de ce paramètre permet de s’assurer qu’un plus grand nombre de clusters sont toujours en cours d’exécution et peut donc réduire le temps de démarrage à froid pour les nouvelles requêtes. Cela est similaire aux cœurs réservés et révocables dans un gestionnaire de ressources. Les valeurs doivent être supérieures à 0 et inférieures ou égales à min(max_num_clusters, 30). La valeur par défaut est de 1. |
name |
String | Nom logique du cluster. Le nom doit être unique au sein d’une organisation et inférieur à 100 caractères. |
permissions |
Sequence | Autorisations à appliquer à l’entrepôt. Consultez les autorisations. |
spot_instance_policy |
String | Indique s’il faut utiliser des instances spot. Les valeurs valides sont POLICY_UNSPECIFIED, COST_OPTIMIZED, RELIABILITY_OPTIMIZED. La valeur par défaut est COST_OPTIMIZED. |
tags |
Map | Ensemble de paires clé-valeur qui seront marquées sur toutes les ressources (par exemple, les instances AWS et les volumes EBS) associées à cet entrepôt SQL. Le nombre d’étiquettes doit être inférieur à 45. |
warehouse_type |
String | Type d’entrepôt, PRO ou CLASSIC. Si vous souhaitez utiliser le calcul serverless, définissez ce champ sur PRO et définissez également le champ enable_serverless_compute sur true. |
sql_warehouse.channel
Type: Map
Configuration de canal pour l'entrepôt SQL.
| Key | Type | Description |
|---|---|---|
name |
String | Nom du canal. Les valeurs valides incluent CHANNEL_NAME_CURRENT, CHANNEL_NAME_PREVIEW, CHANNEL_NAME_CUSTOM. |
dbsql_version |
String | Version DBSQL pour les canaux personnalisés. |
Example
L’exemple suivant définit un entrepôt SQL :
resources:
sql_warehouses:
my_sql_warehouse:
name: my_sql_warehouse
cluster_size: X-Large
enable_serverless_compute: true
max_num_clusters: 3
min_num_clusters: 1
auto_stop_mins: 60
warehouse_type: PRO
table_de_base_de_données_synchronisée
Type: Map
La ressource de table de base de données synchronisée vous permet de définir des tables de base de données Lakebase dans un bundle.
Pour plus d’informations sur les tables de base de données synchronisées, consultez Qu’est-ce qu’une instance de base de données ?.
synced_database_tables:
<synced_database_table-name>:
<synced_database_table-field-name>: <synced_database_table-field-value>
| Key | Type | Description |
|---|---|---|
database_instance_name |
String | Nom de l’instance de base de données cible. Cela est nécessaire lors de la création de tables de base de données synchronisées dans des catalogues standard. Cela est facultatif lors de la création de tables de base de données synchronisées dans des catalogues inscrits. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
logical_database_name |
String | Nom de l’objet de base de données Postgres cible (base de données logique) pour cette table. |
name |
String | Nom complet de la table, sous la forme catalog.schema.table. |
spec |
Map | Spécification de la table de base de données. Consultez la spécification de la table de base de données synchronisée. |
table_de_base_de_données_synchronisée.spec
Type: Map
Spécification de la table de base de données.
| Key | Type | Description |
|---|---|---|
create_database_objects_if_missing |
Boolean | Indique s’il faut créer la base de données logique et les ressources de schéma de la table synchronisée s’ils n’existent pas déjà. |
existing_pipeline_id |
String | Identifiant d’un pipeline existant. Si cette valeur est définie, la table synchronisée est empaquetée dans le pipeline existant référencé. Cela évite de créer un pipeline et permet de partager le calcul existant. Dans ce cas, la scheduling_policy table synchronisée doit correspondre à la stratégie de planification du pipeline existant. Au maximum un seul de existing_pipeline_id ou new_pipeline_spec doit être défini. |
new_pipeline_spec |
Map | Spécification d’un nouveau pipeline. Voir new_pipeline_spec. Au maximum un seul de existing_pipeline_id ou new_pipeline_spec doit être défini. |
primary_key_columns |
Sequence | Liste des noms de colonnes qui forment la clé primaire. |
scheduling_policy |
String | Stratégie de planification pour la synchronisation. Les valeurs valides incluent SNAPSHOT, CONTINUOUS. |
source_table_full_name |
String | Nom complet de la table source au format catalog.schema.table. |
timeseries_key |
String | Clé de la série temporelle pour permettre de dédupliquer les lignes avec la même clé primaire. |
synced_database_table.spec.new_pipeline_spec
Type: Map
Spécification d’un nouveau pipeline utilisé par la table de base de données synchronisée.
| Key | Type | Description |
|---|---|---|
budget_policy_id |
String | ID de la stratégie de budget à définir sur le pipeline nouvellement créé. |
storage_catalog |
String | Catalogue du pipeline pour stocker des fichiers intermédiaires, tels que des points de contrôle et des journaux d’événements. Il doit s’agir d’un catalogue standard où l’utilisateur dispose des autorisations nécessaires pour créer des tables Delta. |
storage_schema |
String | Schéma du pipeline pour stocker des fichiers intermédiaires, tels que des points de contrôle et des journaux d’événements. Cela doit se trouver dans le catalogue standard où l’utilisateur dispose des autorisations nécessaires pour créer des tables Delta. |
Examples
L’exemple suivant définit une table de base de données synchronisée dans un catalogue de bases de données correspondant :
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: my-instance
database_name: 'my_database'
name: my_catalog
create_database_if_not_exists: true
synced_database_tables:
my_synced_table:
name: ${resources.database_catalogs.my_catalog.name}.${resources.database_catalogs.my_catalog.database_name}.my_destination_table
database_instance_name: ${resources.database_catalogs.my_catalog.database_instance_name}
logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
spec:
source_table_full_name: 'my_source_table'
scheduling_policy: SNAPSHOT
primary_key_columns:
- my_pk_column
new_pipeline_spec:
storage_catalog: 'my_delta_catalog'
storage_schema: 'my_delta_schema'
L’exemple suivant définit une table de base de données synchronisée à l’intérieur d’un catalogue standard :
resources:
synced_database_tables:
my_synced_table:
name: 'my_standard_catalog.public.synced_table'
# database_instance_name is required for synced tables created in standard catalogs.
database_instance_name: 'my-database-instance'
# logical_database_name is required for synced tables created in standard catalogs:
logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
spec:
source_table_full_name: 'source_catalog.schema.table'
scheduling_policy: SNAPSHOT
primary_key_columns:
- my_pk_column
create_database_objects_if_missing: true
new_pipeline_spec:
storage_catalog: 'my_delta_catalog'
storage_schema: 'my_delta_schema'
Cet exemple crée une table de base de données synchronisée et personnalise son calendrier de pipeline. Il part du principe que vous avez déjà :
- Instance de base de données nommée
my-database-instance - Un catalogue standard nommé
my_standard_catalog - Schéma dans le catalogue standard nommé
default - Table delta source nommée
source_delta.schema.customeravec la clé primairec_custkey
resources:
synced_database_tables:
my_synced_table:
name: 'my_standard_catalog.default.my_synced_table'
database_instance_name: 'my-database-instance'
logical_database_name: 'test_db'
spec:
source_table_full_name: 'source_delta.schema.customer'
scheduling_policy: SNAPSHOT
primary_key_columns:
- c_custkey
create_database_objects_if_missing: true
new_pipeline_spec:
storage_catalog: 'source_delta'
storage_schema: 'schema'
jobs:
sync_pipeline_schedule_job:
name: sync_pipeline_schedule_job
description: 'Job to schedule synced database table pipeline.'
tasks:
- task_key: synced-table-pipeline
pipeline_task:
pipeline_id: ${resources.synced_database_tables.my_synced_table.data_synchronization_status.pipeline_id}
schedule:
quartz_cron_expression: '0 0 0 * * ?'
volume (catalogue Unity)
Type: Map
Les volumes sont pris en charge dans Python pour les bundles de ressources Databricks. Consultez databricks.bundles.volumes.
Le type de ressource de volume vous permet de définir et de créer des volumes de catalogue Unity dans le cadre d’un bundle. Lors du déploiement d’un bundle avec un volume défini, notez que :
- Un volume ne peut pas être référencé dans le
artifact_pathde l’ensemble tant qu’il n’existe pas dans l’espace de travail. Par conséquent, si vous souhaitez utiliser databricks Asset Bundles pour créer le volume, vous devez d’abord définir le volume dans le bundle, le déployer pour créer le volume, puis le référencer dans leartifact_pathdans les déploiements suivants. - Les volumes dans l'ensemble ne sont pas précédés du préfixe
dev_${workspace.current_user.short_name}lorsque la cible de déploiement est configurée avecmode: development. Toutefois, vous pouvez configurer manuellement ce préfixe. Consultez les Présélections personnalisées.
volumes:
<volume-name>:
<volume-field-name>: <volume-field-value>
| Key | Type | Description |
|---|---|---|
catalog_name |
String | Le nom du catalogue, du schéma et du volume. |
comment |
String | Commentaire attaché au volume. |
grants |
Sequence | Octrois associés au volume. Consultez l’octroi. |
lifecycle |
Map | Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite. Consultez le cycle de vie. |
name |
String | Nom du volume. |
schema_name |
String | Nom du schéma dans lequel se trouve le volume. |
storage_location |
String | Emplacement de stockage sur le cloud. |
volume_type |
String | Type de volume, soit EXTERNALMANAGED. Un volume externe se trouve dans l'emplacement externe spécifié. Un volume managé se trouve à l’emplacement par défaut spécifié par le schéma parent, ou le catalogue parent, ou le metastore. Consultez Les volumes managés et externes. |
Example
L’exemple suivant crée un volume de catalogue Unity avec la clé my_volume_id :
resources:
volumes:
my_volume_id:
catalog_name: main
name: my_volume
schema_name: my_schema
Pour découvrir un exemple de pack qui exécute un travail et écrit dans un fichier du volume Unity Catalog, consultez le Référentiel d’exemples de pack dans GitHub.
Les objets courants
autorisation
Type: Map
Définit le principal et les privilèges à accorder à ce principal. Pour plus d’informations sur les subventions, consultez Afficher, accorder et révoquer des privilèges.
| Key | Type | Description |
|---|---|---|
principal |
String | Nom du principal qui recevra des privilèges. Il peut s’agir d’un utilisateur, d’un groupe ou d’un principal de service. |
privileges |
Sequence | Privilèges à accorder à l’entité spécifiée. Les valeurs valides dépendent du type de ressource (par exemple, , SELECT, MODIFYCREATEUSAGE, READ_FILES, WRITE_FILES, , EXECUTE, ). ALL_PRIVILEGES |
Example
L’exemple suivant définit un schéma de catalogue Unity avec des subventions :
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main
cycle de vie
Type: Map
Contient les paramètres de cycle de vie d’une ressource. Il contrôle le comportement de la ressource lorsqu’elle est déployée ou détruite.
| Key | Type | Description |
|---|---|---|
prevent_destroy |
Boolean | Paramètre de cycle de vie pour empêcher la destruction de la ressource. |