Databricks Utilities med Databricks Connect för Python

Kommentar

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 (Databricks Utilities with Databricks Connect for Scala).

Kommentar

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

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

  • WorkspaceClient Använd klassens dbutils variabel för att komma åt 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.

Dricks

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 WorkspaceClient sedan på följande sätt. Även om det här alternativet stöds rekommenderar Databricks inte 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 följande WorkspaceClient :

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Ange miljövariablerna DATABRICKS_HOST och DATABRICKS_TOKEN på samma sätt som du anger dem för Databricks Connect och initiera WorkspaceClient sedan 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 komma åt tillgängliga Databricks REST-API:er på kontonivå i stället för på arbetsytans nivå 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. Det här exemplet skapar 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 angetts:

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 för Databricks SDK för Python.