Share via


Databricks-Hilfsprogramme mit Databricks Connect für Python

Hinweis

In diesem Artikel wird Databricks Connect für Databricks Runtime 13.0 und höher behandelt.

In diesem Artikel wird beschrieben, wie Databricks-Hilfsprogramme mit Databricks Connect für Python verwendet werden. Mit Databricks Connect können Sie beliebte IDEs, Notebookserver und benutzerdefinierte Anwendungen mit Azure Databricks-Clustern verbinden. Weitere Informationen finden Sie unter Was ist Databricks Connect?. Die Python-Version dieses Artikels finden Sie unter Databricks-Hilfsprogramme mit Databricks Connect für Scala.

Hinweis

Bevor Sie beginnen, Databricks Connect zu verwenden, müssen Sie den Databricks Connect-Client einrichten.

Greifen Sie mit Databricks Connect folgendermaßen auf Databricks-Hilfsprogramme zu:

  • Verwenden Sie die Variable dbutils der WorkspaceClient-Klasse, um auf Databricks Utilities zuzugreifen. Die WorkspaceClient-Klasse gehört zum Databricks SDK für Python und ist in Databricks Connect enthalten.
  • Verwenden Sie dbutils.fs, um auf das Hilfsprogramm fs der Databricks-Hilfsprogramme zuzugreifen.
  • Verwenden Sie dbutils.secrets, um auf das Databricks Utilities geheime Schlüssel-Hilfsprogramm zuzugreifen.
  • Es sind keine anderen Funktionen der Databricks-Hilfsprogramme vorhanden als die voranstehenden Hilfsprogramme, die über für dbutils verfügbar sind.

Tipp

Sie können auch das enthaltene Databricks-SDK für Python verwenden, um auf jede verfügbare Databricks-REST-API zuzugreifen, nicht nur auf die vorherige Databricks Hilfsprogramm-API. Weitere Informationen finden Sie unter Databricks-SDK auf PyPI.

Um WorkspaceClient zu initialisieren, müssen Sie genügend Informationen bereitstellen, um das Databricks-SDK mit dem Arbeitsbereich zu authentifizieren. Beispielsweise können Sie folgende Aktionen ausführen:

  • Hartcodieren Sie die Arbeitsbereichs-URL und Ihr Zugriffstoken direkt in Ihrem Code, und initialisieren Sie dann WorkspaceClient wie folgt. Obwohl diese Option unterstützt wird, wird diese Option von Databricks nicht empfohlen, da sie vertrauliche Informationen wie beispielsweise Zugriffstoken verfügbar machen kann, wenn Ihr Code in die Versionskontrolle eingecheckt oder anderweitig freigegeben wird:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(host  = f"https://{retrieve_workspace_instance_name()}",
                        token = retrieve_token())
    
  • Erstellen oder spezifizieren Sie ein Konfigurationsprofil, das die Felder host und tokenenthält, und initialisieren Sie dann den WorkspaceClient wie folgt:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Legen Sie die Umgebungsvariablen DATABRICKS_HOST und DATABRICKS_TOKEN auf die gleiche Weise fest, wie Sie diese für Databricks Connect festgelegt haben, und initialisieren Sie WorkspaceClient dann wie folgt:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

Das Databricks-SDK für Python erkennt die SPARK_REMOTE-Umgebungsvariable für Databricks Connect nicht.

Weitere Azure Databricks-Authentifizierungsoptionen für das Databricks-SDK für Python sowie Informationen zum Initialisieren von AccountClient innerhalb des Databricks-SDK für den Zugriff auf verfügbare Databricks-REST-APIs auf Kontoebene statt auf Arbeitsbereichsebene finden Sie unter Databricks-SDK in PyPI.

Das folgende Beispiel zeigt, wie Sie das Databricks SDK für Python zum Automatisieren der Databricks-Hilfsprogramme verwenden. In diesem Beispiel wird eine Datei mit dem Namen zzz_hello.txt erstellt, die sich im Pfad eines Unity Catalog-Volumes innerhalb des Arbeitsbereichs befindet, die Daten aus der Datei liest und die Datei dann löscht. In diesem Beispiel wird davon ausgegangen, dass die Umgebungsvariablen DATABRICKS_HOST und DATABRICKS_TOKEN bereits festgelegt wurden:

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)

Weitere Informationen finden Sie auch unter Interaktion mit dbutils in der Dokumentation zum Databricks SDK für Python.