Partager via


Utilitaires Databricks avec Databricks Connect pour Python

Remarque

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

Cet article explique comment utiliser Databricks Utilities avec Databricks Connect pour Python. Databricks Connect vous permet de connecter des IDE, des serveurs de notebooks et des applications personnalisées populaires aux clusters Azure Databricks. Consultez Qu’est-ce que Databricks Connect ?.

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

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

Utilitaires Databricks disponibles

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

  • Utilisez la variable WorkspaceClient de la classe dbutils pour accéder aux Databricks Utilities. La WorkspaceClient classe appartient au Kit de développement logiciel (SDK) Databricks pour Python et est incluse dans Databricks Connect.
  • Utilisez dbutils.fs pour accéder à l’utilitaire Databricks Utilities fs.
  • Utilisez dbutils.secrets pour accéder à l’utilitaire 'secrets' de Databricks Utilities.

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

Conseil / Astuce

Vous pouvez également utiliser le Kit de développement logiciel (SDK) Databricks inclus pour Python pour accéder à n’importe quelle API REST Databricks disponible, et non seulement aux API Databricks Utilities précédentes. Consultez databricks-sdk sur PyPI.

Initialiser le WorkspaceClient

Pour initialiser WorkspaceClient, vous devez fournir suffisamment d’informations pour authentifier un Kit de développement logiciel (SDK) Databricks avec l’espace de travail. Par exemple, vous pouvez :

  • Codez en dur l’URL de l’espace de travail 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 archivé dans le contrôle de version ou partagé autrement :

    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 , tokenpuis intialisez les WorkspaceClient éléments suivants :

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Définissez les variables DATABRICKS_HOST d’environnement et DATABRICKS_TOKEN de la même façon que vous les définissez pour Databricks Connect, puis initialisez WorkspaceClient comme suit :

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

Le Kit de développement logiciel (SDK) Databricks pour Python ne reconnaît pas la SPARK_REMOTE variable d’environnement pour Databricks Connect.

Pour obtenir des options d’authentification Azure Databricks supplémentaires pour le Kit de développement logiciel (SDK) Databricks pour Python, ainsi que la façon d’initialiser AccountClient au sein des kits SDK Databricks disponibles pour accéder aux API REST Databricks disponibles au niveau du compte au lieu du niveau de l’espace de travail, consultez databricks-sdk sur PyPI.

Exemple : Créer un fichier dans un volume

L’exemple suivant montre comment utiliser le Kit de développement logiciel (SDK) Databricks pour Python afin d’automatiser les utilitaires Databricks. Cet exemple crée un fichier nommé zzz_hello.txt dans le chemin d’accès d’un volume catalogue Unity dans l’espace de travail, lit les données du fichier, puis supprime le fichier. Cet exemple suppose que les variables DATABRICKS_HOST d’environnement et DATABRICKS_TOKEN ont déjà été définies :

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)

Consultez également Interaction avec dbutils dans la documentation du Kit de développement logiciel (SDK) Databricks pour Python.