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 de Databricks Connect-client instellen.

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

  • Gebruik de WorkspaceClient klasse's dbutils variabele 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.

Aanbeveling

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>")
    
  • Stel de omgevingsvariabelen DATABRICKS_HOST en DATABRICKS_TOKEN op dezelfde manier in als u ze instelt voor Databricks Connect en initialiseer 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 gemaakt met de naam zzz_hello.txt 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 ingesteld:

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.