Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come connettersi a OneLake tramite l'ambiente di calcolo serverless di Azure Databricks.
Prerequisiti
Prima di connettersi, assicurarsi di avere:
- Un'area di lavoro e un lakehouse di Fabric.
- Un’area di lavoro Premium di Azure Databricks.
- Un principale del servizio con almeno l'assegnazione del ruolo del workspace Collaboratore.
- Segreti nel database o Azure Key Vault (AKV) per memorizzare e recuperare informazioni sensibili. Questo esempio usa i segreti di Databricks.
Collegarsi a OneLake utilizzando il calcolo serverless di Databricks
Usando l'ambiente di calcolo serverless di Databricks, è possibile eseguire carichi di lavoro senza effettuare il provisioning di un cluster. Secondo la documentazione serverless di Databricks, per automatizzare la configurazione di Spark sull'infrastruttura serverless, Databricks serverless consente di configurare solo un sottoinsieme delle proprietà Spark supportate.
Nota
Questa limitazione non è univoca per Azure Databricks. Le implementazioni serverless di Databricks in Amazon Web Services (AWS) e Google Cloud presentano lo stesso comportamento.
Se si tenta di modificare o impostare una configurazione Spark non supportata in un notebook collegato al calcolo serverless di Databricks, il sistema restituisce un errore CONFIG_NOT_AVAILABLE.
OneLake supporta la connettività in ingresso dal calcolo serverless di Databricks. È possibile connettersi a OneLake dal calcolo serverless di Databricks se si dispone dell'accesso appropriato e esiste un percorso di rete tra il calcolo serverless di Databricks e OneLake. Con Databricks serverless, assicurarsi che il codice non modifichi le proprietà spark non supportate.
Creare il notebook
Creare un notebook nell'area di lavoro di Databricks e collegarlo all'ambiente di calcolo serverless.
Importare moduli Python: in questo esempio usare tre moduli:
- msal è Microsoft Authentication Library (MSAL) ed è progettato per aiutare gli sviluppatori a integrare l'autenticazione di Microsoft Identity Platform nelle applicazioni.
- Il modulo requests viene usato per effettuare richieste HTTP tramite Python.
- Delta Lake viene usato per leggere e scrivere tabelle Delta Lake usando Python.
from msal import ConfidentialClientApplication import requests from deltalake import DeltaTableDichiarare le variabili per il tenant di Microsoft Entra, compreso l'ID applicazione. Usare l'ID tenant del tenant in cui viene distribuito Microsoft Fabric.
# Fetch from Databricks secrets. tenant_id = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for tenant _id>") client_id = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for client _id>") client_secret = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for secret>")Dichiarare le variabili dell'area di lavoro Fabric.
workspace_id = "<replace with workspace name>" lakehouse_id = "<replace with lakehouse name>" table_to_read = "<name of lakehouse table to read>" storage_account_name = workspace_id onelake_uri = f"abfss://{workspace_id}@onelake.dfs.fabric.microsoft.com/{lakehouse_id}.lakehouse/Tables/{table_to_read}"Inizializzare il client per ottenere un token.
authority = f"https://login.microsoftonline.com/{tenant_id}" app = ConfidentialClientApplication( client_id, authority=authority, client_credential=client_secret ) result = app.acquire_token_for_client(scopes=["https://onelake.fabric.microsoft.com/.default"]) if "access_token" in result: access_token = result["access_token"] print("Access token acquired.") token_val = result['access_token']Leggi una tabella delta da OneLake
dt = DeltaTable(onelake_uri, storage_options={"bearer_token": f"{token_val}", "use_fabric_endpoint": "true"}) df = dt.to_pandas() print(df.head())Nota
L'entità servizio ha l'assegnazione di ruolo Area di lavoro Collaboratore ed è possibile usarla per scrivere i dati in OneLake.
Dopo aver completato i passaggi precedenti, è possibile leggere i dati da OneLake usando Databricks un notebook collegato al calcolo serverless.