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.
Important
Cette documentation a été mise hors service et peut ne pas être mise à jour.
Ces informations s’appliquent aux anciennes versions Databricks CLI 0,18 et inférieures. Databricks vous recommande d’utiliser à la place la nouvelle version 0.205 ou supérieure de l’interface CLI Databricks. Consultez l’interface CLI Databricks. Pour trouver votre version de l’interface CLI Databricks, exécutez databricks -v.
Pour migrer de Databricks CLI version 0,18 ou inférieure vers Databricks CLI version 0,205 ou supérieure, consultez Migration Databricks CLI.
Databricks CLI version 0.205 et ultérieure ne prend pas en charge l’interface CLI Stack. Databricks vous recommande d’utiliser le fournisseur Databricks Terraform à la place.
Remarque
L’utilisation du CLI de pile requiert le CLI Databricks 0.8.3 ou une version ultérieure.
L’interface CLI de pile permet de gérer une pile de ressources Azure Databricks, telles que les travaux, les notebooks et les fichiers DBFS. Vous pouvez stocker des notebooks et des fichiers DBFS localement et créer un modèle JSON de configuration du stack qui définit des correspondances de vos fichiers locaux vers des chemins d’accès dans votre espace de travail Azure Databricks, ainsi que des configurations de travaux qui exécutent les notebooks.
Utilisez l’interface CLI de pile avec le modèle JSON de configuration de pile pour déployer et gérer votre pile.
Vous exécutez les sous-commandes de la CLI Databricks Stack en les ajoutant à databricks stack.
databricks stack --help
Usage: databricks stack [OPTIONS] COMMAND [ARGS]...
[Beta] Utility to deploy and download Databricks resource stacks.
Options:
-v, --version [VERSION]
--debug Debug Mode. Shows full stack trace on error.
--profile TEXT CLI connection profile to use. The default profile is
"DEFAULT".
-h, --help Show this message and exit.
Commands:
deploy Deploy a stack of resources given a JSON configuration of the stack
Usage: databricks stack deploy [OPTIONS] CONFIG_PATH
Options:
-o, --overwrite Include to overwrite existing workspace notebooks and DBFS
files [default: False]
download Download workspace notebooks of a stack to the local filesystem
given a JSON stack configuration template.
Usage: databricks stack download [OPTIONS] CONFIG_PATH
Options:
-o, --overwrite Include to overwrite existing workspace notebooks in the
local filesystem [default: False]
Déployer une pile dans un espace de travail
Cette sous-commande déploie une pile. Consultez Configuration d’une pile pour apprendre à configurer une pile.
databricks stack deploy ./config.json
La section Modèle JSON de configuration de pile donne un exemple de config.json.
Télécharger les modifications des blocs-notes d'empilement
Cette sous-commande télécharge les notebooks d’une pile.
databricks stack download ./config.json
Exemples
Configuration du stack
Structure de fichiers d’un exemple de stack
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
Cet exemple de pile contient un notebook principal dans notebooks/common/notebook.scala, ainsi que des notebooks de configuration dans le dossier notebooks/config. Il existe une dépendance de bibliothèque JAR de la pile dans lib/library.jar.
config.json est le modèle JSON de configuration de la pile. C’est ce qui est passé dans l’interface CLI de pile pour le déploiement de la pile.
Modèle JSON de configuration de la pile
Le modèle de configuration de pile décrit la configuration de la pile.
cat config.json
{
"name": "example-stack",
"resources": [
{
"id": "example-workspace-notebook",
"service": "workspace",
"properties": {
"source_path": "notebooks/common/notebook.scala",
"path": "/Users/example@example.com/dev/notebook",
"object_type": "NOTEBOOK"
}
},
{
"id": "example-workspace-config-dir",
"service": "workspace",
"properties": {
"source_path": "notebooks/config",
"path": "/Users/example@example.com/dev/config",
"object_type": "DIRECTORY"
}
},
{
"id": "example-dbfs-library",
"service": "dbfs",
"properties": {
"source_path": "lib/library.jar",
"path": "dbfs:/tmp/lib/library.jar",
"is_dir": false
}
},
{
"id": "example-job",
"service": "jobs",
"properties": {
"name": "Example Stack CLI Job",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_DS3_v2",
"num_workers": 3
},
"timeout_seconds": 7200,
"max_retries": 1,
"notebook_task": {
"notebook_path": "/Users/example@example.com/dev/notebook"
},
"libraries": [
{
"jar": "dbfs:/tmp/lib/library.jar"
}
]
}
}
]
}
Chaque travail, notebook de l’espace de travail, répertoire de l’espace de travail, fichier DBFS ou répertoire DBFS est défini en tant que ResourceConfig. Chaque ResourceConfig qui représente un espace de travail ou une ressource DBFS contient un mappage du fichier ou du répertoire dans lequel il se trouve localement (source_path) à l’emplacement où il se trouverait dans l’espace de travail ou DBFS (path).
Le schéma du modèle de configuration stack décrit le schéma pour le modèle de configuration du stack.
Déployer une pile
Vous déployez une pile à l’aide de la commande databricks stack deploy <configuration-file>.
databricks stack deploy ./config.json
Pendant le déploiement de la pile, les ressources de DBFS et de l’espace de travail sont chargées dans votre espace de travail Azure Databricks, et vos travaux sont créés.
Au moment du déploiement de la pile, un fichier JSON StackStatus pour le déploiement est enregistré dans le même répertoire que le modèle de configuration de la pile avec le nom, en ajoutant deployed immédiatement avant l’extension .json : (par exemple, ./config.deployed.json). Ce fichier est utilisé par l’interface CLI de pile pour effectuer le suivi des dernières ressources déployées sur votre espace de travail.
Le schéma d’état de la pile présente le schéma de configuration d’une pile.
Important
N’essayez pas de modifier ou de déplacer le fichier d’état de la pile. Si vous recevez des erreurs concernant le fichier d’état de la pile, supprimez-le, puis réessayez le déploiement.
./config.deployed.json
{
"cli_version": "0.8.3",
"deployed_output": [
{
"id": "example-workspace-notebook",
"databricks_id": {
"path": "/Users/example@example.com/dev/notebook"
},
"service": "workspace"
},
{
"id": "example-workspace-config-dir",
"databricks_id": {
"path": "/Users/example@example.com/dev/config"
},
"service": "workspace"
},
{
"id": "example-dbfs-library",
"databricks_id": {
"path": "dbfs:/tmp/lib/library.jar"
},
"service": "dbfs"
},
{
"id": "example-job",
"databricks_id": {
"job_id": 123456
},
"service": "jobs"
}
],
"name": "example-stack"
}
Structures de données
Dans cette section :
Schéma de modèle de configuration du stack
StackConfig
Il s'agit des champs externes d'un modèle de configuration de la stack. Tous les champs sont obligatoires.
| Nom du champ | Type | Description |
|---|---|---|
| nom | STRING |
Nom de la pile. |
| les ressources | Liste de ResourceConfig | Ressource dans Azure Databricks. Les ressources sont liées à trois services (espaces de noms d’API REST) : espace de travail, travaux et DBFS. |
ResourceConfig
Champs de chaque ResourceConfig. Tous les champs sont obligatoires.
| Nom du champ | Type | Description |
|---|---|---|
| id | STRING |
ID unique de la ressource. L’unicité de ResourceConfig est appliquée. |
| service | ResourceService | Service d’API REST sur lequel la ressource fonctionne. L’un des éléments suivants : jobs,workspace, ou dbfs. |
| propriétés | ResourceProperties | Les champs de ce type sont différents selon le service ResourceConfig. |
ResourceProperties
Propriétés d’une ressource par ResourceService. Les champs sont classés comme ceux utilisés ou non utilisés dans une API REST Azure Databricks. Tous les champs listés sont requis.
| service | Champs de l’API REST utilisés dans l’CLI Stack | Champs utilisés uniquement dans le CLI Stack |
|---|---|---|
| espace de travail | path : STRING - Chemins d’espaces de travail distants de notebooks ou de répertoires. (Ex. /Users/example@example.com/notebook)object_type : API d’espace de travail - Type d’objet notebook. Peut être uniquement NOTEBOOK ou DIRECTORY. |
source_path: STRING - Chemin source local des carnets ou répertoires de l’espace de travail. Chemin relatif vers le fichier de modèle de configuration de pile ou chemin absolu dans le système de fichiers. |
| emplois | N’importe quel champ des paramètres ou de la structure new_settings. Le seul champ non obligatoire dans les paramètres ou la structure new_settings, mais obligatoire pour l’interface CLI de pile est le suivant : name : STRING - Nom de la tâche à déployer. Pour ne pas créer un trop grand nombre de tâches en double, l'interface CLI de Stack applique des noms uniques dans les tâches déployées. |
Aucun. |
| dbfs | path : STRING - Chemin DBFS distant correspondant. Doit commencer par dbfs:/. (Ex. dbfs:/this/is/a/sample/path)is_dir : BOOL - Indique si un chemin DBFS est un répertoire ou un fichier. |
source_path : STRING - Chemin source local de fichiers ou répertoires DBFS. Chemin relatif vers un fichier modèle de configuration pour la pile ou chemin absolu dans votre système de fichiers. |
ResourceService
Chaque ressource appartient à un service spécifique qui s’aligne sur l’API REST Databricks. Il s’agit des services pris en charge par l’Interface en Ligne de Commande du Stack.
| Service | Description |
|---|---|
| espace de travail | Notebook ou répertoire de l’espace de travail. |
| emplois | Une tâche Azure Databricks. |
| dbfs | Fichier ou répertoire DBFS. |
Schéma d’état de la pile
StackStatus
Un fichier d’état de la pile est créé après le déploiement d’une pile à l’aide de l’interface CLI. Les champs de niveau supérieur sont les suivants :
| Nom du champ | Type | Description |
|---|---|---|
| nom | STRING |
Nom de la pile. Ce champ est le même champ que dans StackConfig. |
| cli_version | STRING |
Version du CLI Databricks utilisée pour déployer la pile. |
| ressources_déployées | Liste des valeurs ResourceStatus | État de chaque ressource déployée. Pour chaque ressource définie dans StackConfig, un ResourceStatus correspondant est généré ici. |
ResourceStatus
| Nom du champ | Type | Description |
|---|---|---|
| id | STRING |
ID propre à la pile pour la ressource. |
| service | ResourceService | Service d’API REST sur lequel la ressource fonctionne. L’un des éléments suivants : jobs,workspace, ou dbfs. |
| databricks_id | DatabricksId | ID physique de la ressource déployée. Le schéma réel dépend du type (service) de la ressource. |
DatabricksId
Objet JSON dont le champ dépend du service.
| Service | Champ dans JSON | Type | Description |
|---|---|---|---|
| espace de travail | chemin | STRING | Chemin absolu du bloc-notes ou du répertoire dans un espace de travail Azure Databricks. La dénomination est cohérente avec l’API Espace de travail. |
| emplois | job_id | STRING | ID de travail comme indiqué dans un espace de travail Azure Databricks. Cet élément peut être utilisé pour mettre à jour des travaux déjà déployés. |
| dbfs | chemin | STRING | Chemin absolu du bloc-notes ou du répertoire dans un espace de travail Azure Databricks. La dénomination est cohérente avec l’API DBFS. |