Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird gezeigt, wie Sie eine Verbindung mit OneLake über Azure Databricks serverless compute herstellen.
Voraussetzungen
Bevor Sie eine Verbindung herstellen, stellen Sie sicher, dass Sie folgendes haben:
- Ein Fabric-Arbeitsbereich und seehaus.
- Ein Azure Databricks-Premium-Arbeitsbereich.
- Ein Dienstprinzipal mit mindestens der Rollenzuweisung des Arbeitsbereichs "Mitwirkender ".
- Datenbankgeheimnisse oder Azure Key Vault (AKV), um geheime Schlüssel zu speichern und abzurufen. In diesem Beispiel werden Databricks-Geheimnisse verwendet.
Verbindung zu OneLake herstellen mithilfe von serverlosem Databricks-Compute
Mithilfe von Databricks serverless compute können Sie Workloads ausführen, ohne einen Cluster bereitzustellen. Gemäß der Databricks serverlosen Dokumentation, um die Konfiguration von Spark auf serverlosen Compute zu automatisieren, ermöglicht Databricks Serverless nur die Konfiguration einer Teilmenge der unterstützten Spark-Eigenschaften.
Hinweis
Diese Einschränkung gilt nicht nur für Azure Databricks. Databricks serverlose Implementierungen auf Amazon Web Services (AWS) und Google Cloud weisen das gleiche Verhalten auf.
Wenn Sie versuchen, eine nicht unterstützte Spark-Konfiguration in einem Notizbuch zu ändern oder festzulegen, das mit serverloser Datenverarbeitung von Databricks verknüpft ist, gibt das System einen CONFIG_NOT_AVAILABLE Fehler zurück.
OneLake unterstützt eingehende Konnektivität von Databricks serverless compute. Sie können von Databricks Serverless Compute aus eine Verbindung zu OneLake herstellen, wenn Sie über einen geeigneten Zugriff verfügen und ein Netzwerkpfad zwischen Databricks Serverless Compute und OneLake besteht. Stellen Sie bei Databricks ohne Server sicher, dass Ihr Code keine nicht unterstützten Spark-Eigenschaften ändert.
Erstellen Ihres Notizbuchs
Erstellen Sie ein Notizbuch im Databricks-Arbeitsbereich, und verknüpfen Sie es mit serverloser Rechenleistung.
Importieren Sie Python-Module – verwenden Sie in diesem Beispiel drei Module:
- msal ist Microsoft Authentication Library (MSAL) und soll Entwicklern helfen, die Microsoft Identity Platform-Authentifizierung in ihre Anwendungen zu integrieren.
- Das Anforderungsmodul wird verwendet, um HTTP-Anforderungen mithilfe von Python auszuführen.
- Delta Lake wird verwendet, um Delta Lake-Tabellen mithilfe von Python zu lesen und zu schreiben.
from msal import ConfidentialClientApplication import requests from deltalake import DeltaTableDeklarieren Sie Variablen für den Microsoft Entra-Mandanten einschließlich Anwendungs-ID. Verwenden Sie die Mandanten-ID des Mandanten, in dem Microsoft Fabric bereitgestellt wird.
# 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>")Deklarieren Sie Fabric-Arbeitsbereichsvariablen.
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}"Initialisieren Sie den Client, um ein Token abzurufen.
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']Eine Delta-Tabelle aus OneLake lesen
dt = DeltaTable(onelake_uri, storage_options={"bearer_token": f"{token_val}", "use_fabric_endpoint": "true"}) df = dt.to_pandas() print(df.head())Hinweis
Der Dienstprinzipal verfügt über die Arbeitsbereichszuweisung "Mitwirkender ", und Sie können sie verwenden, um Daten zurück in OneLake zu schreiben.
Nachdem Sie die vorstehenden Schritte ausgeführt haben, können Sie Daten aus OneLake lesen, indem Sie Databricks ein Notizbuch verwenden, das mit serverloser Berechnung verbunden ist.