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 dedbutils
klasse voor toegang tot Databricks Utilities. DeWorkspaceClient
-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 WorkspaceClient
wilt 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
entoken
, en initialiseer hetWorkspaceClient
als volgt:from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")
Set de omgevingsvariabelen
DATABRICKS_HOST
enDATABRICKS_TOKEN
op dezelfde manier als je ze voor Databricks Connect set en initialiseertWorkspaceClient
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.