Freigeben über


Databricks Utilities mit Databricks Connect für Python

Hinweis

Dieser Artikel behandelt Databricks Connect für Databricks Runtime Version 13.3 LTS und höher.

In diesem Artikel wird beschrieben, wie Sie Databricks Utilities mit Databricks Connect für Python verwenden. 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?.

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

Die Scala-Version dieses Artikels finden Sie unter Databricks Utilities mit Databricks Connect für Scala.

Verfügbare Databricks-Dienstprogramme

Sie verwenden Databricks Connect für den Zugriff auf Databricks Utilities wie folgt:

  • Verwenden Sie die Variable der WorkspaceClient Klasse dbutils , 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 Dienstprogramm Databricks Utilities fs zuzugreifen.
  • Verwenden Sie dbutils.secrets, um auf die Geheimnisfunktion von Databricks Utilities zuzugreifen.

Keine Databricks Utilities-Funktionalität außer den vorherigen Dienstprogrammen ist über dbutils verfügbar.

Tipp

Sie können auch das enthaltene Databricks SDK für Python verwenden, um auf alle verfügbaren Databricks-REST-API zuzugreifen, nicht nur die vorherigen Databricks Utilities-APIs. Siehe databricks-sdk auf PyPI.

Initialisieren des WorkspaceClient

Zum Initialisieren WorkspaceClient müssen Sie genügend Informationen bereitstellen, um ein 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 WorkspaceClient dann wie folgt. Obwohl diese Option unterstützt wird, empfiehlt Databricks diese Option nicht, da sie vertrauliche Informationen wie Zugriffstoken verfügbar machen kann, wenn Ihr Code in die Versionssteuerung eingecheckt oder anderweitig freigegeben wird:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(host  = f"https://{retrieve_workspace_instance_name()}",
                        token = retrieve_token())
    
  • Erstellen Sie oder geben Sie ein Konfigurationsprofil an, das die Felder host und token enthält, und initialisieren Sie dann das 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 sie für Databricks Connect festlegen, 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 die Initialisierung AccountClient innerhalb der Databricks-SDKs für den Zugriff auf verfügbare Databricks-REST-APIs auf Kontoebene statt auf Arbeitsbereichsebene finden Sie unter databricks-sdk auf PyPI.

Beispiel: Erstellen einer Datei in einem Volume

Das folgende Beispiel zeigt, wie Sie das Databricks SDK für Python verwenden, um Databricks Utilities zu automatisieren. In diesem Beispiel wird eine Datei erstellt, die im Pfad eines Unity-Katalogvolumes innerhalb des Arbeitsbereichs benannt zzz_hello.txt ist, die Daten aus der Datei liest und dann die Datei 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)

Siehe auch Interaktion mit dbutils im Databricks SDK für Python-Dokumentation.