Aller au contenu principal

Utilitaires Databricks avec Databricks Connect pour Python

remarque

Cet article couvre Databricks Connect pour Databricks Runtime 13.3 LTS et les versions ultérieures.

Cet article décrit comment utiliser Databricks Utilities avec Databricks Connect pour Python. Databricks Connect vous permet de connecter les IDEs populaires, les serveurs de Notebook et les applications personnalisées aux clusters Databricks. See Databricks Connect.

Avant de commencer à utiliser Databricks Connect, vous devez configurer le client Databricks Connect.

Pour la version Scala de cet article, consultez Databricks Utilities avec Databricks Connect pour Scala.

Utilitaires Databricks disponibles

Vous utilisez Databricks Connect pour accéder aux utilitaires Databricks comme suit :

  • Utilisez la variable dbutils de la classe WorkspaceClient pour accéder aux infrastructures publiques Databricks. La classe WorkspaceClient appartient au SDK Databricks pour Python et est incluse dans Databricks Connect.
  • Utilisez dbutils.fs pour accéder à l'infrastructure publique fs des Databricks Utilities.
  • Utilisez dbutils.secrets pour accéder à l'utilitaire secrets des utilitaires Databricks.

Aucune fonctionnalité d'utilitaires Databricks autre que les utilitaires précédents n'est disponible via dbutils.

astuce

Vous pouvez également utiliser le SDK Databricks pour Python inclus pour accéder à n'importe quelle API REST Databricks disponible, et pas seulement aux API d'infrastructures publiques Databricks précédentes. Voir le SDK Databricks sur PyPI.

Initialiser le client de l'espace de travail

Pour initialiser WorkspaceClient, vous devez fournir suffisamment d'informations pour authentifier un SDK Databricks auprès du Workspace. Par exemple, vous pouvez :

  • Codez en dur l'URL du workspace et votre jeton d'accès directement dans votre code, puis initialisez WorkspaceClient comme suit. Bien que cette option soit prise en charge, Databricks **ne recommande pas** cette option, car elle peut exposer des informations sensibles, telles que des jetons d'accès, si votre code est enregistré dans un système de contrôle de version ou partagé d'une autre manière :

    Python
    from databricks.sdk import WorkspaceClient

    w = WorkspaceClient(host = f"https://{retrieve_workspace_instance_name()}",
    token = retrieve_token())
  • Créez ou spécifiez un profil de configuration qui contient les champs host et token, puis initialisez le WorkspaceClient comme suit :

    Python
    from databricks.sdk import WorkspaceClient

    w = WorkspaceClient(profile = "<profile-name>")
  • Définissez les variables d'environnement DATABRICKS_HOST et DATABRICKS_TOKEN de la même manière que vous les avez définies pour Databricks Connect, puis initialisez WorkspaceClient comme suit :

    Python
    from databricks.sdk import WorkspaceClient

    w = WorkspaceClient()

Le Databricks SDK pour Python ne reconnaît pas la variable d'environnement SPARK_REMOTE pour Databricks Connect.

Pour plus d'options d'authentification Databricks pour le SDK Databricks pour Python, ainsi que pour savoir comment initialiser AccountClient au sein des SDK Databricks afin d'accéder aux API REST Databricks disponibles au niveau du compte au lieu du niveau du Workspace, consultez databricks-sdk sur PyPI.

Exemple : Créez un fichier dans un volume

L'exemple suivant montre comment utiliser le SDK Databricks pour Python afin d'automatiser les infrastructures publiques Databricks. Cet exemple crée un fichier nommé zzz_hello.txt dans le chemin d'un volume Unity Catalog au sein du Workspace, lit les données du fichier, puis supprime le fichier. Cet exemple suppose que les variables d'environnement DATABRICKS_HOST et DATABRICKS_TOKEN ont déjà été définies :

Python
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

file_path = "/Volumes/main/default/my-volume/zzz_hello.txt"
file_data = "Hello, Databricks!"
fs = w.dbutils.fs

fs.put(
file = file_path,
contents = file_data,
overwrite = True
)

print(fs.head(file_path))

fs.rm(file_path)

Voir aussi Interaction avec dbutils dans la documentation du Databricks SDK pour Python.