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 della dbutils classe per accedere alle utilità di Databricks. La WorkspaceClient 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 e tokene quindi inizializzare come WorkspaceClient segue:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Impostare le variabili DATABRICKS_HOST di ambiente e DATABRICKS_TOKEN nello stesso modo in cui vengono impostate per Databricks Connect e quindi inizializzare WorkspaceClient 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.