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 Scala voor 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 variabele van dbutils de WorkspaceClient 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 deze functie om toegang te krijgen tot het hulpprogramma Databricks Utilities fs .
  • Gebruik dbutils.secrets deze functie voor toegang tot het hulpprogramma Geheimen van Databricks Utilities.
  • Er zijn geen 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 in PyPI.

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

  • Codeer de werkruimte-URL en het toegangstoken rechtstreeks in uw code en initialiseer WorkspaceClient deze 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 geef een configuratieprofiel op dat de velden host bevat en tokengeef het WorkspaceClient vervolgens als volgt intialiseren:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Stel de omgevingsvariabelen DATABRICKS_HOST in en DATABRICKS_TOKEN op dezelfde manier als u ze instelt voor Databricks Connect en initialiseer WorkspaceClient deze als volgt:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

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

Zie databricks-sdk op PyPI voor aanvullende Azure Databricks-verificatieopties voor de Databricks SDK voor Python en hoe u binnen de Databricks SDK's kunt initialiseren AccountClient voor toegang tot 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 al DATABRICKS_TOKEN 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.