Ancienne CLI Databricks
Cette documentation a été retirée et pourrait ne pas être mise à jour.
Databricks vous recommande d'utiliser Databricks CLI version 0,205 ou supérieure au lieu de l'ancienne Databricks CLI version 0,18 ou inférieure. Databricks CLI version 0.18 ou inférieure n'est pas prise en charge par Databricks. Pour des informations sur les versions 0.205 et supérieures de Databricks CLI, consultez Databricks CLI.
Pour migrer de Databricks CLI version 0.18 ou inférieure vers Databricks CLI version 0.205 ou supérieure, consultez la migration de Databricks CLI.
L'ancienne CLI Databricks est dans un état expérimental. Databricks ne prévoit actuellement aucune nouvelle fonctionnalité pour l'ancienne CLI Databricks.
La CLI Databricks héritée n'est pas prise en charge via les canaux de distribution du support Databricks. Pour fournir des commentaires, poser des questions et signaler des problèmes, utilisez la tab Issues du repository Command Line Interface for Databricks sur GitHub.
L'ancienne interface de ligne de commande Databricks (également connue sous le nom d'ancienne CLI Databricks) est un utilitaire qui fournit une interface facile à utiliser pour automatiser la plateforme Databricks depuis votre terminal, invite de commande ou scripts d'automatisation.
Exigences
- Python 3 (3.6 et versions ultérieures)
- Python de 2 à 2.7.9 et versions ultérieures
Sous macOS, l'installation default de Python 2 n'implémente pas le protocole TLSv1_2, et l'exécution de l'ancienne CLI Databricks avec cette installation Python entraîne l'erreur : AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'. Utiliser Homebrew pour installer une version de Python qui a ssl.PROTOCOL_TLSv1_2.
Configurer la CLI
Cette section décrit comment configurer l'ancienne CLI Databricks.
Installer ou mettre à jour le CLI
Cette section décrit comment installer ou mettre à jour votre machine de développement pour exécuter l'ancien Databricks CLI.
Installer la CLI
Exécutez pip install databricks-cli en utilisant la version appropriée de pip pour votre installation Python :
pip install databricks-cli
Mettre à jour la 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 du CLI Databricks hérité actuellement installé, exécutez databricks --version:
databricks --version
Configurer l'authentification
Avant de pouvoir exécuter des commandes CLI Databricks héritées, vous devez configurer l'authentification entre la CLI Databricks héritée et Databricks. Cette section explique comment configurer l'authentification pour l'ancien Databricks CLI.
Pour s'authentifier avec l'ancien CLI Databricks, vous pouvez utiliser un jeton d'accès personnel Databricks.
En tant que bonne pratique de sécurité lorsque vous vous authentifiez avec des outils, des systèmes, des scripts et des applications automatisés, Databricks vous recommande d'utiliser des jetons OAuth.
Si vous utilisez l'authentification par jeton d'accès personnel, Databricks recommande d'utiliser des jetons d'accès personnels appartenant aux Service Principal plutôt qu'aux utilisateurs du Workspace. Pour créer des jetons pour les Service Principals, consultez Gérer les jetons pour un Service Principal.
Configurez l'authentification à l'aide d'un jeton d'accès personnel Databricks
Pour configurer l'ancien CLI Databricks afin d'utiliser un jeton d'accès personnel, exécutez la commande suivante :
databricks configure --token
La commande commence par émettre le prompt :
Databricks Host (should begin with https://):
Saisissez l'URL de votre Workspace, au format https://<instance-name>.cloud.databricks.com. Pour obtenir l'URL de votre Workspace, consultez Noms, URL et identifiants d'instance Workspace.
La commande continue en demandant d'entrer votre jeton d'accès personnel :
Token:
Une fois les invites terminées, vos identifiants d'accès sont stockés dans le fichier ~/.databrickscfg sous Linux ou macOS, ou %USERPROFILE%\.databrickscfg sous Windows. Le fichier contient une entrée de profil default :
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
Si le fichier .databrickscfg existe déjà, le profil de configuration DEFAULT de ce fichier est écrasé par les nouvelles données. Pour créer un profil de configuration avec un nom différent, consultez Profils de connexion.
Pour CLI 0.8.1 et versions ultérieures, vous pouvez modifier le chemin de ce fichier en définissant la variable d'environnement DATABRICKS_CONFIG_FILE.
- Linux or macOS
- Windows
export DATABRICKS_CONFIG_FILE=<path-to-file>
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M
À partir de la CLI 0.17.2, la CLI ne fonctionne pas avec un fichier .netrc. Vous pouvez avoir un fichier .netrc dans votre environnement à d’autres fins, mais la CLI n’utilisera pas ce fichier .netrc.
CLI 0.8.0 et supérieur prend en charge les variables d'environnement Databricks suivantes :
DATABRICKS_HOSTDATABRICKS_USERNAMEDATABRICKS_PASSWORDDATABRICKS_TOKEN
Un paramètre de variable d'environnement prédomine sur le paramètre dans le fichier de configuration.
Tester votre configuration d'authentification
Pour vérifier si vous avez configuré l'authentification correctement, vous pouvez exécuter une commande telle que la suivante :
databricks fs ls dbfs:/
En cas de succès, cette commande liste les fichiers et répertoires dans la racine DBFS du workspace qui est associé à votre profil DEFAULT.
Profils de connexion
La configuration de la CLI Databricks héritée prend en charge plusieurs profils de connexion. La même installation de la CLI Databricks héritée peut être utilisée pour effectuer des appels API sur plusieurs Workspace Databricks.
Pour ajouter un profil de connexion, spécifiez un nom unique pour le profil :
databricks configure --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 default est utilisé. Si un profil default n’est pas trouvé, vous êtes invité à configurer la CLI avec un profil default.
Testez vos profils de connexion
Pour vérifier si vous avez correctement configuré des profils de connexion, vous pouvez exécuter une commande telle que la suivante avec l'un de vos noms de profil de connexion :
databricks fs ls dbfs:/ --profile <profile-name>
En cas de succès, cette commande liste les fichiers et répertoires de la racine DBFS du Workspace pour le profil de connexion spécifié. Exécutez cette commande pour chaque profil de connexion que vous souhaitez tester.
Pour afficher vos profils disponibles, consultez votre fichier .databrickscfg.
Utiliser la CLI
Cette section vous montre comment obtenir de l'aide sur l'ancien Databricks CLI, analyser la sortie de l'ancien Databricks CLI et invoquer des commandes dans chaque groupe de commandes.
Afficher l'aide du groupe de commandes CLI
Vous listez les sous-commandes de n'importe quel groupe de commandes en utilisant l'option --help ou -h. Par exemple, pour lister les sous-commandes de la CLI DBFS :
databricks fs -h
Afficher l'aide de la sous-commande CLI
Vous affichez 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
Groupes de commandes d'alias
Il peut parfois être peu pratique de préfixer chaque invocation de la CLI Databricks héritée avec le nom d'un groupe de commandes, par exemple
databricks workspace ls dans la CLI Databricks héritée. Pour faciliter l'utilisation de l'ancien CLI Databricks, vous pouvez alliaser des groupes de commandes en des commandes plus courtes.
Pour raccourcir databricks workspace ls à dw ls dans le
bourne again shell, vous pouvez ajouter alias dw="databricks workspace" au profil bash approprié. Généralement,
ce fichier est situé à ~/.bash_profile.
L'ancien CLI de Databricks alias déjà databricks fs à dbfs; databricks fs ls et dbfs ls sont équivalents.
Utilisez jq pour analyser la sortie CLI
Certaines commandes CLI Databricks héritées produisent la réponse JSON de l'endpoint d'API. Parfois, il peut être utile d'analyser des parties du JSON pour les transmettre à d'autres commandes. Par exemple, pour copier une définition de job, vous devez prendre le champ settings d'une commande get job et l'utiliser comme argument pour la commande create job. Dans ces cas, nous vous recommandons d'utiliser l'utilitaire jq.
Par exemple, la commande suivante imprime les paramètres du Job avec l'ID 233.
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'
Résultat :
{
"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
}
À titre d'autre exemple, la commande suivante affiche uniquement les noms et les ID de tous les clusters disponibles dans le Workspace :
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'
Résultat :
[
{
"name": "My Cluster 1",
"id": "1234-567890-grip123"
},
{
"name": "My Cluster 2",
"id": "2345-678901-patch234"
}
]
Vous pouvez installer jq par exemple sur macOS 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ètres de chaîne JSON
Les paramètres de chaîne sont gérés différemment selon votre système d'exploitation :
- Linux or macOS
- Windows
Vous devez placer les paramètres de chaîne JSON entre guillemets simples. Par exemple :
'["20180505", "alantest"]'
Vous devez inclure les parameters de chaîne JSON entre guillemets doubles, et les guillemets à l'intérieur de la chaîne doivent être précédés de \. Par exemple :
"[\"20180505\", \"alantest\"]"
Dépannage
Les sections suivantes fournissent des conseils pour résoudre les problèmes courants avec la CLI Databricks héritée.
L’utilisation de EOF avec databricks configure ne fonctionne pas
Pour Databricks CLI 0.12.0 et versions ultérieures, l'utilisation de la séquence de fin de fichier (EOF) dans un script pour transmettre des paramètres à la commande databricks configure ne fonctionne pas. Par exemple, le script suivant amène la CLI Databricks à ignorer les paramètres, et aucun message d'erreur n'est généré.
# Do not do this.
databricksUrl=<workspace-url>
databricksToken=<personal-access-token>
databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF
Pour résoudre ce problème, effectuez l'une des actions suivantes :
- Utilisez l'une des autres options de configuration programmatique, comme décrit dans Configurer l’authentification.
- Ajoutez manuellement les valeurs
hostettokenau fichier.databrickscfg, comme décrit dans Configurer l'authentification. - Rétrogradez votre installation de la CLI Databricks à la version 0.11.0 ou inférieure, et exécutez votre script à nouveau.
commandes CLI
- CLI de stratégies de clusters (hérité)
- Clusters CLI (hérité)
- DBFS CLI (hérité)
- Spark Declarative Pipelines sur Lakeflow CLI (hérité)
- Groupes CLI (hérité)
- Pools d'instances CLI (hérité)
- CLI Jobs (héritée)
- CLI des bibliothèques (hérité)
- CLI Repos (hérité)
- Exécutions CLI (hérité)
- CLI des secrets (hérité)
- Stack CLI (hérité)
- CLI Tokens (hérité)
- CLI Unity Catalog (héritée)
- Workspace CLI (hérité)