Utilità di Databricks con Databricks Connect per Python
Nota
Questo articolo illustra Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive.
Questo articolo descrive come usare le utilità di Databricks con Databricks Connect per Python. Databricks Connect consente di connettere gli IDE, i server notebook e le applicazioni personalizzate più diffusi ai cluster Azure Databricks. Vedere Che cos'è Databricks Connect?. Per la versione scala di questo articolo, vedere Utilità di Databricks con Databricks Connect per Scala.
Nota
Prima di iniziare a usare Databricks Connect, è necessario configurare il client Databricks Connect.
Usare Databricks Connect per accedere alle utilità di Databricks come indicato di seguito:
- Usare la
WorkspaceClient
variabile delladbutils
classe per accedere alle utilità di Databricks. LaWorkspaceClient
classe appartiene all'SDK di Databricks per Python ed è inclusa in Databricks Connect. - Usare
dbutils.fs
per accedere all'utilità Fs di Databricks Utilities. - Usare
dbutils.secrets
per accedere all'utilità dei segreti di Databricks Utilities. - Nessuna funzionalità di Utilità di Databricks diversa dalle utilità precedenti è disponibile tramite
dbutils
.
Suggerimento
È anche possibile usare l'SDK di Databricks incluso per Python per accedere a qualsiasi API REST di Databricks disponibile, non solo alle API di Utilità di Databricks precedenti. Vedere databricks-sdk in PyPI.
Per inizializzare WorkspaceClient
, è necessario fornire informazioni sufficienti per autenticare un SDK di Databricks con l'area di lavoro. È ad esempio possibile:
Impostare come hardcoded l'URL dell'area di lavoro e il token di accesso direttamente all'interno del codice e quindi inizializzare
WorkspaceClient
come indicato di seguito. Anche se questa opzione è supportata, Databricks non consiglia questa opzione, perché può esporre informazioni riservate, ad esempio token di accesso, se il codice è archiviato nel controllo della versione o altrimenti condiviso:from databricks.sdk import WorkspaceClient w = WorkspaceClient(host = f"https://{retrieve_workspace_instance_name()}", token = retrieve_token())
Creare o specificare un profilo di configurazione contenente i campi
host
etoken
e quindi inizializzare comeWorkspaceClient
segue:from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")
Impostare le variabili
DATABRICKS_HOST
di ambiente eDATABRICKS_TOKEN
nello stesso modo in cui vengono impostate per Databricks Connect e quindi inizializzareWorkspaceClient
come indicato di seguito:from databricks.sdk import WorkspaceClient w = WorkspaceClient()
Databricks SDK per Python non riconosce la SPARK_REMOTE
variabile di ambiente per Databricks Connect.
Per altre opzioni di autenticazione di Azure Databricks per Databricks SDK per Python, nonché per l'inizializzazione AccountClient
negli SDK di Databricks per accedere alle API REST di Databricks disponibili a livello di account anziché a livello di area di lavoro, vedere databricks-sdk in PyPI.
L'esempio seguente illustra come usare Databricks SDK per Python per automatizzare le utilità di Databricks. Questo esempio crea un file denominato zzz_hello.txt
nel percorso di un volume di Catalogo Unity all'interno dell'area di lavoro, legge i dati dal file e quindi elimina il file. In questo esempio si presuppone che le variabili DATABRICKS_HOST
di ambiente e DATABRICKS_TOKEN
siano già state impostate:
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)
Vedere anche Interazione con dbutils nella documentazione di Databricks SDK per Python.