Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 populaires, des serveurs de notebooks et des applications personnalisées aux clusters Azure Databricks. Consultez 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
WorkspaceClientde la classedbutilspour accéder aux Databricks Utilities. La classeWorkspaceClientappartient au SDK Databricks pour Python et est incluse dans Databricks Connect. - Utilisez
dbutils.fspour accéder à l’utilitaire Databricks Utilities fs. - Utilisez
dbutils.secretspour accéder à l’utilitaire 'secrets' de Databricks Utilities. - Utilisez
dbutils.widgetspour créer et lire des widgets locaux, afin que le code écrit pour l'utilitaire widgets de Databricks Utilities s’exécute localement. Ces widgets existent uniquement dans votre session locale et ne peuvent pas récupérer les paramètres de notebook distant ou de tâche de job. Lire un widget que vous n’avez pas créé localement fait remonter unKeyError, ou retourne la valeur par défaut si vous utilisezgetArgument. - Utilisez
dbutils.jobs.taskValuespour déboguer localement le code écrit pour l’utilitaire travaux de Databricks Utilities. Les valeurs des tâches ne sont pas échangées lors des exécutions de tâches à distance :setne fait rien, etgetrenvoie la valeur de son argumentdebugValue, ou génère une erreur si vous ne transmettez pasdebugValue. Pour définir ou obtenir des valeurs de tâches pour les tâches en aval, exécutez votre code comme une tâche de travail.
Aucune fonctionnalité des utilitaires Databricks 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
WorkspaceClientcomme 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 lesWorkspaceClientéléments suivants :from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")Définissez les variables
DATABRICKS_HOSTd’environnement etDATABRICKS_TOKENde la même façon que vous les définissez pour Databricks Connect, puis initialisezWorkspaceClientcomme 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 obtenir d’autres options d’authentification Azure Databricks pour le Kit de développement logiciel (SDK) Databricks pour Python, ainsi que la façon d’initialiser AccountClient dans les Kits de développement logiciel (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 pour 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 SDK Databricks pour Python.