Utilitaires Databricks avec Databricks Connect pour Python

Remarque

Cet article traite de Databricks Connect pour Databricks Runtime 13.0 et versions ultérieures.

Cet article explique comment utiliser Utilitaires Databricks avec Databricks Connect pour Python. Databricks Connect vous permet de connecter des ID, des serveurs de notebooks et des applications personnalisées populaires aux clusters Azure Databricks. Consultez Qu’est-ce que Databricks Connect ?. Pour obtenir la version Scala de cet article, consultez Utilitaires Databricks avec Databricks Connect pour Scala.

Remarque

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

Vous utilisez Databricks Connect pour accéder à Databricks Utilities comme suit :

  • Utilisez la variable dbutils de la classe WorkspaceClient pour accéder aux utilitaires Databricks. La classe WorkspaceClient appartient au SDK Databricks pour Python et est incluse dans Databricks Connect.
  • Utilisez dbutils.fs pour accéder à l’utilitaire fs Databricks Utilities.
  • Utilisez dbutils.secrets pour accéder à l’utilitaire des secrets de Databricks Utilities.
  • Aucune fonctionnalité des utilitaires Databricks autre que les utilitaires précédents n'est disponible via dbutils.

Conseil

Vous pouvez également utiliser le kit SDK Databricks pour Python afin d’accéder aux API REST Databricks disponibles, et pas seulement aux API d’utilitaires Databricks précédentes. Consultez la sectiondatabricks-sdk sur PyPI.

Pour initialiser WorkspaceClient, vous devez fournir suffisamment d’informations afin d’authentifier un kit SDK Databricks auprès de 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 enregistré dans le contrôle de version ou partagé d’une autre manière :

    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 WorkspaceClient comme suit :

    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 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 variable d’environnement SPARK_REMOTE pour Databricks Connect.

Pour plus d’informations sur les options d’authentification Azure Databricks supplémentaires relatives au kit SDK Databricks pour Python ainsi que sur la façon d’initialiser AccountClient dans les kits SDK Databricks afin d’accéder aux API REST Databricks disponibles au niveau du compte et non au niveau de l’espace de travail, consultez databricks-sdk sur PyPI.

L'exemple suivant montre comment utiliser le SDK Databricks pour Python pour automatiser les utilitaires Databricks. Cet exemple crée un fichier nommé zzz_hello.txt dans le chemin d'accès d'un volume Unity Catalog dans l'espace de travail, 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 :

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 SDK Databricks pour Python.