Interface CLI Stack (héritée)
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 Qu’est-ce que 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’interface CLI de pile requiert l’interface 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 des travaux, des notebooks et des fichiers DBFS. Vous pouvez stocker des notebooks et des fichiers DBFS localement, et créer un modèle JSON de configuration de pile qui définit les mappages de vos fichiers locaux vers des chemins de 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 l’interface CLI de pile Databricks 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 notebooks de pile
Cette sous-commande télécharge les notebooks d’une pile.
databricks stack download ./config.json
Exemples
Configuration d’une pile
Structure de fichier d’un exemple de pile
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
Cet exemple de pile contient un notebook principal, 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 pile 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 de modèle de configuration de pile présente le schéma du modèle de configuration de la pile.
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 DBFS et de l’espace de travail sont chargées dans votre espace de travail Azure Databricks et des 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 du modèle de configuration de la pile
StackConfig
Il s’agit des champs externes d’un modèle de configuration de la pile. Tous les champs sont obligatoires.
Nom du champ | Type | Description |
---|---|---|
name | STRING |
Nom de la pile. |
les ressources | Liste des valeurs 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 . |
properties | 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’interface CLI de pile | Champs utilisés uniquement dans l’interface CLI de pile |
---|---|---|
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 répertoires ou notebooks de l’espace de travail. Chemin relatif du fichier de modèle de configuration de la pile ou chemin absolu dans votre système de fichiers. |
jobs | 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 du travail à déployer. Pour ne pas créer un trop grand nombre de travaux en double, l’interface CLI de pile applique des noms uniques dans les travaux déployés de la pile. |
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 du fichier de modèle de configuration de 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 CLI de la pile.
Service | Description |
---|---|
espace de travail | Notebook ou répertoire de l’espace de travail. |
jobs | Travail 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 |
---|---|---|
name | STRING |
Nom de la pile. Ce champ est le même champ que dans StackConfig. |
cli_version | STRING |
Version de l’interface CLI Databricks utilisée pour déployer la pile. |
deployed_resources | 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 | path | STRING | Chemin absolu du notebook ou du répertoire dans un espace de travail Azure Databricks. La dénomination est cohérente avec l’API Espace de travail. |
jobs | job_id | STRING | ID de travail tel qu’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 | path | STRING | Chemin absolu du notebook ou du répertoire dans un espace de travail Azure Databricks. La dénomination est cohérente avec l’API DBFS. |