Dela via


Databricks Utilities med Databricks Connect för Python

Not

Den här artikeln beskriver Databricks Connect för Databricks Runtime 13.3 LTS och senare.

Den här artikeln beskriver hur du använder Databricks Utilities med Databricks Connect för Python. Med Databricks Connect kan du ansluta populära IDE:er, notebook-servrar och anpassade program till Azure Databricks-kluster. Se Vad är Databricks Connect?. Scala-versionen av den här artikeln finns i Databricks Utilities with Databricks Connect for Scala.

Not

Innan du börjar använda Databricks Connect måste du set upp Databricks Connect-klienten.

Du använder Databricks Connect för att få åtkomst till Databricks Utilities på följande sätt:

  • Använd WorkspaceClient-klassens dbutils-variabel för att få åtkomst till Databricks Utilities. Klassen WorkspaceClient tillhör Databricks SDK för Python och ingår i Databricks Connect.
  • Använd dbutils.fs för att komma åt verktyget Databricks Utilities fs.
  • Använd dbutils.secrets för att komma åt verktyget Databricks Utilities hemligheter.
  • Inga andra databricks-verktygsfunktioner än de föregående verktygen är tillgängliga via dbutils.

Tips

Du kan också använda den inkluderade Databricks SDK för Python för att få åtkomst till alla tillgängliga Databricks REST-API:er, inte bara de föregående API:erna för Databricks Utilities. Se databricks-sdk på PyPI.

Om du vill initiera WorkspaceClientmåste du ange tillräckligt med information för att autentisera en Databricks SDK med arbetsytan. Du kan till exempel:

  • Hårdkoda arbetsytans URL och din åtkomsttoken direkt i koden och initiera sedan WorkspaceClient på följande sätt. Även om det här alternativet stöds rekommenderar Inte Databricks det här alternativet eftersom det kan exponera känslig information, till exempel åtkomsttoken, om koden är incheckad i versionskontroll eller på annat sätt delas:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(host  = f"https://{retrieve_workspace_instance_name()}",
                        token = retrieve_token())
    
  • Skapa eller ange en konfigurationsprofil som innehåller fälten host och tokenoch initiera sedan WorkspaceClient på följande sätt:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Set miljövariablerna DATABRICKS_HOST och DATABRICKS_TOKEN på samma sätt som du set dem för Databricks Connect och initierar sedan WorkspaceClient på följande sätt:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

Databricks SDK för Python känner inte igen SPARK_REMOTE miljövariabeln för Databricks Connect.

Ytterligare autentiseringsalternativ för Azure Databricks för Databricks SDK för Python samt hur du initierar AccountClient i Databricks SDK:er för att få åtkomst till tillgängliga Databricks REST-API:er på kontonivå i stället för på arbetsytenivå finns i databricks-sdk på PyPI.

I följande exempel visas hur du använder Databricks SDK för Python för att automatisera Databricks Utilities. I det här exemplet skapas en fil med namnet zzz_hello.txt i en Unity-Catalog volymsökväg på arbetsytan, läser data från filen och tar sedan bort filen. Det här exemplet förutsätter att miljövariablerna DATABRICKS_HOST och DATABRICKS_TOKEN redan har set:

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)

Se även Interaktion med dbutils i Dokumentationen om Databricks SDK för Python.