Delen via


Databricks Utilities met Databricks Connect voor Python

Notitie

Dit artikel bevat informatie over Databricks Connect voor Databricks Runtime 13.3 LTS en hoger.

In dit artikel wordt beschreven hoe u Databricks Utilities gebruikt met Databricks Connect voor Python. Met Databricks Connect kunt u populaire IDE's, notebookservers en aangepaste toepassingen verbinden met Azure Databricks-clusters. Zie Wat is Databricks Connect?. Zie Databricks Utilities met Databricks Connect voor Scalavoor de Scala-versie van dit artikel.

Notitie

Voordat u Databricks Connect gaat gebruiken, moet u set de Databricks Connect-client.

U gebruikt Databricks Connect als volgt om toegang te krijgen tot Databricks Utilities:

  • Gebruik de WorkspaceClient variabele van de dbutils klasse voor toegang tot Databricks Utilities. De WorkspaceClient-klasse behoort tot de Databricks SDK voor Python en is opgenomen in Databricks Connect.
  • Gebruik dbutils.fs om toegang te krijgen tot het hulpprogramma Databricks Utilities fs.
  • Gebruik dbutils.secrets om toegang te krijgen tot de Databricks Utilities secrets-functionaliteit.
  • Behalve de voorgaande hulpprogramma's zijn er geen andere Databricks-hulpprogramma's beschikbaar via dbutils.

Tip

U kunt ook de meegeleverde Databricks SDK voor Python gebruiken voor toegang tot alle beschikbare Databricks REST API's, niet alleen de voorgaande Databricks Utilities-API's. Zie databricks-sdk op PyPI.

Als u WorkspaceClientwilt initialiseren, moet u voldoende informatie opgeven om een Databricks SDK met de werkruimte te verifiëren. U kunt bijvoorbeeld het volgende doen:

  • Codeer de werkruimte-URL en het toegangstoken rechtstreeks in uw code en initialiseer WorkspaceClient als volgt. Hoewel deze optie wordt ondersteund, raadt Databricks- deze optie niet aan, omdat gevoelige informatie, zoals toegangstokens, kan worden weergegeven als uw code is ingecheckt bij versiebeheer of anderszins wordt gedeeld:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(host  = f"https://{retrieve_workspace_instance_name()}",
                        token = retrieve_token())
    
  • Maak of specificeer een configuratieprofiel met de velden host en token, en initialiseer het WorkspaceClient als volgt:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Set de omgevingsvariabelen DATABRICKS_HOST en DATABRICKS_TOKEN op dezelfde manier als je ze voor Databricks Connect set en initialiseert WorkspaceClient als volgt:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

De Databricks SDK voor Python herkent de omgevingsvariabele SPARK_REMOTE voor Databricks Connect niet.

Zie databricks-sdk AccountClient op PyPI voor meer Azure Databricks-verificatieopties voor de Databricks SDK voor Python, evenals hoe u AccountClient kunt initialiseren om toegang te krijgen tot de beschikbare Databricks REST API's op accountniveau in plaats van op werkruimteniveau.

In het volgende voorbeeld ziet u hoe u de Databricks SDK voor Python gebruikt om Databricks Utilities te automatiseren. In dit voorbeeld wordt een bestand met de naam zzz_hello.txt gemaakt in het pad van een Unity Catalog volume in de werkruimte, worden de gegevens uit het bestand gelezen en vervolgens het bestand verwijderd. In dit voorbeeld wordt ervan uitgegaan dat de omgevingsvariabelen DATABRICKS_HOST en DATABRICKS_TOKEN al zijn 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)

Zie ook Interactie met dbutils in de Databricks SDK voor Python-documentatie.