Aller au contenu principal

Ancienne CLI Databricks

important

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
important

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 :

Bash
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 :

Bash
pip install databricks-cli --upgrade

Pour lister la version du CLI Databricks hérité actuellement installé, exécutez databricks --version:

Bash
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.

remarque

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 :

Bash
databricks configure --token

La commande commence par émettre le prompt :

Console
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 :

Console
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 :

Console
[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.

Bash
export DATABRICKS_CONFIG_FILE=<path-to-file>
important

À 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_HOST
  • DATABRICKS_USERNAME
  • DATABRICKS_PASSWORD
  • DATABRICKS_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 :

Bash
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 :

Bash
databricks configure --token --profile <profile-name>

Le fichier .databrickscfg contient une entrée de profil correspondante :

Console
[<profile-name>]
host = <workspace-URL>
token = <token>

Pour utiliser le profil de connexion :

Bash
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 :

Bash
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 :

Bash
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 :

Bash
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.

astuce

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.

Bash
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'

Résultat :

Console
{
"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 :

Bash
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'

Résultat :

Console
[
{
"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 :

Vous devez placer les paramètres de chaîne JSON entre guillemets simples. Par exemple :

Bash
'["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é.

Bash
# 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 host et token au 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