CLI Databricks (héritée)
Important
Cette documentation a été mise hors service et peut ne pas être mise à jour.
Databricks vous recommande d’utiliser une version 0.205 ou ultérieure de l’interface CLI Databricks au lieu de la version héritée 0.18 ou antérieure de l’interface CLI Databricks. La version 0.18 ou antérieure de l’interface CLI Databricks n’est pas pris en charge par Databricks. Pour plus d’informations sur les versions Databricks CLI 0,205 et supérieures, consultez Qu’est-ce que la CLI Databricks ?.
Pour migrer de l’interface CLI Databricks version 0.18 ou antérieure vers l’interface CLI Databricks version 0.205 ou ultérieure, consultez Migration de l’interface CLI Databricks.
L’interface CLI Databricks héritée se trouve à l’état expérimental. Databricks ne prévoit actuellement aucune nouvelle fonctionnalité pour l’interface CLI Databricks héritée.
L’interface CLI Databricks n’est pas pris en charge par les canaux de support Databricks. Pour envoyer des commentaires, poser des questions et signaler des problèmes, utilisez l’onglet Problèmes dans le dépôt de l’interface de ligne de commande pour Databricks sur GitHub.
L’interface de ligne de commande Databricks héritée (également appelée interface CLI Databricks héritée) est un utilitaire dont l’interface simple d’utilisation vous permet d’automatiser la plateforme Azure Databricks à partir de votre terminal, de l’invite de commandes ou de scripts d’automatisation.
Spécifications
- Python 3 – 3.6 et supérieur
- Python 2 – 2.7.9 et supérieur
Important
Sur macOS, l’installation par défaut de Python 2 n’implémente pas le protocole TLSv1_2 et l’exécution de l’interface CLI Databricks héritée avec cette installation de Python entraîne l’erreur : AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
. Utilisez Homebrew pour installer une version de Python qui a ssl.PROTOCOL_TLSv1_2
.
Limites
L’utilisation de l’interface CLI Databricks héritée avec des conteneurs de stockage activés pour le pare-feu n’est pas prise en charge. Databricks vous recommande d’utiliser Databricks Connect ou az storage.
Configurer l’interface CLI
Cette section explique comment configurer l’interface CLI Databricks héritée.
Installer ou mettre à jour l’interface CLI
Cette section explique comment installer ou mettre à jour votre machine de développement pour exécuter l’interface CLI Databricks héritée.
Installer l’interface de ligne de commande
Exécutez pip install databricks-cli
en utilisant la version appropriée de pip
pour votre installation Python :
pip install databricks-cli
Mise à jour de l’interface CLI
Exécutez pip install databricks-cli --upgrade
en utilisant la version appropriée de pip
pour votre installation Python :
pip install databricks-cli --upgrade
Pour lister la version de l’interface CLI Databricks héritée actuellement installée, exécutez databricks --version
:
databricks --version
Configurer l’authentification
Avant de pouvoir exécuter des commandes dans l’interface CLI Databricks héritée, vous devez configurer l’authentification entre l’interface CLI Databricks héritée et Azure Databricks. Cette section explique comment configurer l’authentification pour l’interface CLI Databricks héritée.
Pour vous authentifier auprès de l’interface CLI Databricks héritée, vous pouvez utiliser un jeton d’accès personnel Databricks ou un jeton Microsoft Entra ID (anciennement Azure Active Directory).
Remarque
En guise de bonne pratique de sécurité, quand vous vous authentifiez avec des outils, systèmes, scripts et applications automatisés, Databricks recommande d’utiliser des jetons d’accès personnels appartenant à des principaux de service et non des utilisateurs de l’espace de travail. Pour créer des jetons d’accès pour des principaux de service, consultez la section Gérer les jetons pour un principal de service.
Configurer l’authentification à l’aide d’un jeton Microsoft Entra ID
Pour configurer l’interface CLI Databricks héritée avec un jeton Microsoft Entra ID, générez le jeton Microsoft Entra ID (anciennement Azure Active Directory) et stockez-le dans la variable d’environnement DATABRICKS_AAD_TOKEN
.
Exécutez la commande suivante :
databricks configure --aad-token
La commande émet l’invite :
Databricks Host (should begin with https://):
Entrez l’URL de votre espace de travail, au format https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Pour obtenir l’URL de l’espace de travail, consultez URL d’espace de travail.
Après avoir complété l’invite, vos informations d’identification d’accès sont stockées dans le fichier ~/.databrickscfg
sur Linux ou macOS, ou dans %USERPROFILE%\.databrickscfg
sur Windows. Le fichier contient une entrée de profil par défaut :
[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>
Si le fichier .databrickscfg
existe déjà, le profil de configuration DEFAULT
de ce fichier est remplacé par les nouvelles données. Pour créer un profil de configuration avec un autre nom, consultez Profils de connexion.
Configurer l’authentification avec un jeton d’accès personnel Databricks
Pour configurer l’interface CLI Databricks héritée afin qu’elle utilise un jeton d’accès personnel, exécutez la commande suivante :
databricks configure --token
La commande commence par l’invite :
Databricks Host (should begin with https://):
Entrez l’URL de votre espace de travail, au format https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Pour obtenir l’URL de l’espace de travail, consultez URL d’espace de travail.
La commande continue avec l’invite de saisie de votre jeton d’accès personnel :
Token:
Après avoir complété les invites, vos informations d’identification d’accès sont stockées dans le fichier ~/.databrickscfg
sur Unix ou macOS, ou dans %USERPROFILE%\.databrickscfg
sur Windows. Le fichier contient une entrée de profil par défaut :
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
Si le fichier .databrickscfg
existe déjà, le profil de configuration DEFAULT
de ce fichier est remplacé par les nouvelles données. Pour créer un profil de configuration avec un autre nom, consultez Profils de connexion.
Pour CLI 0.8.1 et les versions ultérieures, vous pouvez changer le chemin de ce fichier en définissant la variable d’environnement DATABRICKS_CONFIG_FILE
.
Linux ou macOS
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M
Important
À compter de CLI 0.17.2, l’interface CLI ne fonctionne pas avec un fichier .netrc. Vous pouvez avoir un fichier .netrc
dans votre environnement à d’autres fins, mais l’interface CLI n’utilise pas ce fichier .netrc
.
CLI 0.8.0 et ultérieur prend en charge les variables d’environnement Azure Databricks suivantes :
DATABRICKS_HOST
DATABRICKS_TOKEN
La valeur d’une variable d’environnement est prioritaire par rapport à la valeur qui se trouve dans le fichier de configuration.
Tester la configuration de votre authentification
Pour vérifier que vous avez correctement configuré l’authentification, vous pouvez exécuter une commande comme celle qui suit :
databricks fs ls dbfs:/
Si elle aboutit, cette commande liste les fichiers et les répertoires à la racine DBFS de l’espace de travail associé à votre profil DEFAULT
.
Profils de connexion
La configuration de l’interface CLI Databricks héritée prend en charge plusieurs profils de connexion. La même installation de l’interface CLI Databricks héritée peut être utilisée pour effectuer des appels d’API sur plusieurs espaces de travail Azure Databricks.
Pour ajouter un profil de connexion, spécifiez un nom unique pour le profil :
databricks configure [--token | --aad-token] --profile <profile-name>
Le fichier .databrickscfg
contient une entrée de profil correspondante :
[<profile-name>]
host = <workspace-URL>
token = <token>
Pour utiliser le profil de connexion :
databricks <group> <command> --profile <profile-name>
Si --profile <profile-name>
n’est pas spécifié, le profil par défaut est utilisé. Si aucun profil par défaut n’est disponible, vous êtes invité à configurer l’interface CLI avec un profil par défaut.
Tester vos profils de connexion
Pour vérifier que vous avez correctement configuré des profils de connexion, vous pouvez exécuter une commande comme celle qui suit avec l’un de vos noms de profil de connexion :
databricks fs ls dbfs:/ --profile <profile-name>
Si elle aboutit, cette commande liste les fichiers et les répertoires à la racine DBFS de l’espace de travail pour le profil de connexion spécifié. Exécutez cette commande pour chaque profil de connexion que vous souhaitez tester.
Pour examiner vos profils disponibles, consultez votre fichier .databrickscfg
.
Utiliser l’interface CLI
Cette section vous montre comment obtenir de l’aide sur l’interface CLI Databricks héritée, analyser la sortie de l’interface CLI Databricks héritée et appeler des commandes dans chaque groupe de commandes.
Afficher l’aide du groupe de commandes CLI
Vous pouvez lister les sous-commandes de n’importe quel groupe de commandes à l’aide de l’option --help
ou -h
. Par exemple, pour lister les sous-commandes de l’interface CLI DBFS :
databricks fs -h
Afficher l’aide d’une sous-commande d’interface CLI
Vous pouvez lister l’aide d’une sous-commande en utilisant l’option --help
ou -h
. Par exemple, pour lister l’aide de la sous-commande de copie de fichiers DBFS :
databricks fs cp -h
Attribuer des alias à des groupes de commandes
Il n’est pas toujours pratique de préfixer chaque appel de l’interface CLI Databricks héritée du nom d’un groupe de commandes, par exemple databricks workspace ls
dans l’interface CLI Databricks héritée. Pour faciliter l’utilisation de l’interface CLI Databricks héritée, vous pouvez créer un alias des groupes de commandes pour raccourcir les commandes.
Par exemple, pour raccourcir databricks workspace ls
en dw ls
dans le shell Bourne-Again (Bash), vous pouvez ajouter alias dw="databricks workspace"
au profil bash approprié. En général, ce fichier se trouve dans ~/.bash_profile
.
Conseil
L’interface CLI Databricks héritée a déjà créé un alias de databricks fs
pour dbfs
. databricks fs ls
et dbfs ls
sont équivalents.
Utiliser jq
pour analyser la sortie de l’interface CLI
Certaines commandes de l’interface CLI Databricks héritée génèrent la réponse JSON à partir du point de terminaison de l’API. Parfois, il peut être utile d’analyser des parties du JSON pour les insérer dans d’autres commandes chaînées. Par exemple, pour copier une définition de travail, vous devez prendre le champ settings
d’une commande d’obtention de travail et l’utiliser comme argument de la commande de création de travail. Dans ce cas, nous vous recommandons d’utiliser l’utilitaire jq
.
Par exemple, la commande suivante imprime les paramètres du travail avec l’ID 233.
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'
Sortie :
{
"name": "Quickstart",
"new_cluster": {
"spark_version": "7.5.x-scala2.12",
"spark_env_vars": {
"PYSPARK_PYTHON": "/databricks/python3/bin/python3"
},
"num_workers": 8,
...
},
"email_notifications": {},
"timeout_seconds": 0,
"notebook_task": {
"notebook_path": "/Quickstart"
},
"max_concurrent_runs": 1
}
Autre exemple : la commande suivante imprime uniquement les noms et les ID de tous les clusters disponibles dans l’espace de travail :
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'
Sortie :
[
{
"name": "My Cluster 1",
"id": "1234-567890-grip123"
},
{
"name": "My Cluster 2",
"id": "2345-678901-patch234"
}
]
Vous pouvez installer jq
sur macOS par exemple en utilisant Homebrew avec brew install jq
, ou sur Windows en utilisant Chocolatey avec choco install jq
. Pour plus d’informations sur jq
, consultez le Manuel jq.
Paramètre de chaîne JSON
Les paramètres de chaîne sont gérés différemment en fonction de votre système d’exploitation :
Linux ou macOS
Vous devez mettre les paramètres de chaîne JSON entre guillemets simples. Par exemple :
'["20180505", "alantest"]'
Windows
Vous devez mettre les paramètres de chaîne JSON entre guillemets doubles et les caractères de guillemet dans la chaîne doivent être précédés de \
. Par exemple :
"[\"20180505\", \"alantest\"]"
Dépannage
Les sections suivantes fournissent des conseils pour la résolution des problèmes courants liés à l’interface CLI Databricks héritée.
L’utilisation d’EOF avec databricks configure
ne fonctionne pas
Pour l’interface Databricks CLI 0.12.0 et ultérieur, l’utilisation de la séquence de fin de fichier (EOF
) dans un script pour passer des paramètres à la commande databricks configure
ne fonctionne pas. Par exemple, le script suivant force l’interface Databricks CLI à ignorer les paramètres et aucun message d’erreur n’est généré :
# Do not do this.
databricksUrl=<per-workspace-url>
databricksToken=<personal-access-token-or-Azure-AD-token>
databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF
Pour résoudre ce problème, effectuez l’une des opérations suivantes :
- Utilisez l’une des autres options de configuration programmatique décrites dans Configurer l’authentification.
- Ajoutez manuellement les valeurs
host
ettoken
au fichier.databrickscfg
, comme décrit dans Configurer l’authentification. - Rétrogradez votre installation de l’interface Databricks CLI à 0.11.0 ou antérieur, puis réexécutez votre script.
Commandes CLI
- Interface CLI (héritée) Stratégies de cluster
- Interface CLI (héritée) Clusters
- Interface CLI (héritée) DBFS
- Interface CLI (héritée) Delta Live Tables
- Interface CLI (héritée) Groupes
- Interface CLI (héritée) Pools d’instance
- Interface CLI (héritée) Travaux
- Interface CLI (héritée) Bibliothèques
- Interface CLI (héritée) Référentiels
- Interface CLI (héritée) Exécutions
- Interface CLI (héritée) Secrets
- Interface CLI (héritée) Piles
- Interface CLI (héritée) Jetons
- Interface CLI (héritée) Unity Catalog
- Interface CLI (héritée) Espace de travail