Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Diese Seite bietet eine Übersicht über die Verwendung der Unity-REST-API für den Zugriff auf verwaltete und externe Tabellen aus externen Delta-Clients. Informationen zum Erstellen externer Delta-Tabellen aus externen Clients finden Sie unter Erstellen externer Delta-Tabellen von externen Clients.
Verwenden Sie den Iceberg REST-Katalog , um Unity Catalog-registrierte Tabellen in Azure Databricks von unterstützten Iceberg-Clients zu lesen, einschließlich Apache Spark und DuckDB.
Eine vollständige Liste der unterstützten Integrationen finden Sie unter Unity Catalog-Integrationen.
Tipp
Informationen zum Lesen von Azure Databricks-Daten mit Microsoft Fabric finden Sie unter Verwenden von Microsoft Fabric zum Lesen von Daten, die im Unity-Katalogregistriert sind.
Lesen und Schreiben mithilfe der Unity-REST-API
Die Unity-REST-API bietet externen Clients Lesezugriff auf Tabellen, die im Unity-Katalog registriert sind. Einige Clients unterstützen auch das Erstellen von Tabellen und das Schreiben in vorhandene Tabellen.
Konfigurieren des Zugriffs mithilfe des Endpunkts /api/2.1/unity-catalog.
Anforderungen
Azure Databricks unterstützt den Unity-REST-API-Zugriff auf Tabellen als Teil des Unity-Katalogs. Sie müssen den Unity-Katalog in Ihrem Arbeitsbereich aktiviert haben, um diese Endpunkte zu verwenden. Die folgenden Tabellentypen sind für Unity-REST-API-Lesevorgänge berechtigt:
- Verwaltete Tabellen im Unity-Katalog
- Externe Tabellen im Unity-Katalog.
Sie müssen die folgenden Konfigurationsschritte ausführen, um den Zugriff auf Datenbricks-Objekte von Delta-Clients mithilfe der Unity-REST-API zu konfigurieren:
- Aktivieren Sie den Zugriff auf externe Daten für Ihren Metastore. Siehe Aktivieren des externen Datenzugriffs im Metastore.
- Gewähren Sie dem Prinzipal die Konfiguration der Integration des
EXTERNAL USE SCHEMASchemas, das die Objekte enthält. Weitere Informationen finden Sie unter Erteilen von Prinzipalberechtigungen für den Unity-Katalog. - Authentifizieren Sie sich mit einer der folgenden Methoden:
- Persönliches Zugriffstoken (PAT): Siehe Autorisieren des Zugriffs auf Azure Databricks-Ressourcen.
- OAuth-Computer-zu-Computer-Authentifizierung (M2M): Unterstützt die automatische Aktualisierung von Anmeldeinformationen und Token für lange ausgeführte Spark-Aufträge (>1 Stunde). Siehe Autorisieren des Dienstprinzipalzugriffs auf Azure Databricks mit OAuth.
Lesen von Delta-Tabellen mit Apache Spark mithilfe der PAT-Authentifizierung
Die folgende Konfiguration ist erforderlich, um verwaltete und externe Delta-Tabellen mit Apache Spark mithilfe der PAT-Authentifizierung zu lesen:
"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.token": "<token>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"
Ersetzen Sie die folgenden Variablen:
-
<uc-catalog-name>: Der Name des Katalogs im Unity-Katalog, der Ihre Tabellen enthält. -
<workspace-url>: URL des Azure Databricks-Arbeitsbereichs. -
<token>: Persönliches Zugriffstoken (PAT) für den Hauptverantwortlichen, der die Integration konfiguriert.
Um die automatische Verlängerung der Anmeldeinformationen für lang andauernde Aufgaben zu aktivieren, fügen Sie die folgende Konfiguration hinzu:
"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true
Hinweis
Die oben gezeigten Paketversionen sind ab dem letzten Update auf dieser Seite aktuell. Neuere Versionen sind möglicherweise verfügbar. Stellen Sie sicher, dass Paketversionen mit Ihrer Databricks-Runtime-Version und Spark-Version kompatibel sind.
Weitere Details zum Konfigurieren von Apache Spark für Cloudobjektspeicher finden Sie in der Unity Catalog OSS-Dokumentation.
Lesen von Delta-Tabellen mit Apache Spark mithilfe der OAuth-Authentifizierung
Azure Databricks unterstützt auch die OAuth-Computer-zu-Computer-Authentifizierung (M2M). OAuth verarbeitet automatisch die Tokenerneuerung für die Unity-Katalogauthentifizierung. Aktivieren Sie für lang andauernde Aufträge, für die auch eine automatische Verlängerung der Anmeldeinformationen für Cloudspeicher erforderlich ist, die spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled Einstellung in Ihrer Spark-Konfiguration.
Für die OAuth-Authentifizierung für externe Spark-Clients ist Folgendes erforderlich:
- Unity Catalog Spark-Clientversion 0.3.1 oder höher (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 oder höher
- Delta Spark 4.0.1 oder höher mit OAuth-Unterstützung
- Ein OAuth M2M-Dienstprinzipal mit entsprechenden Berechtigungen. Siehe Autorisieren des Dienstprinzipalzugriffs auf Azure Databricks mit OAuth.
Die folgende Konfiguration ist erforderlich, um verwaltete Tabellen des Unity-Katalogs und externe Delta-Tabellen mit Apache Spark mithilfe der OAuth-Authentifizierung zu lesen:
"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.auth.type": "oauth",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.uri": "<oauth-token-endpoint>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientId": "<oauth-client-id>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientSecret": "<oauth-client-secret>",
"spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled": "true",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"
Ersetzen Sie die folgenden Variablen:
-
<uc-catalog-name>: Der Name des Katalogs im Unity-Katalog, der Ihre Tabellen enthält. -
<workspace-url>: URL des Azure Databricks-Arbeitsbereichs. Weitere Informationen finden Sie unter Instanznamen, URLs und IDs von Arbeitsbereichen. -
<oauth-token-endpoint>: OAuth-Tokenendpunkt-URL. So erstellen Sie diese URL:- Suchen Sie Ihre Databricks-Konto-ID. Siehe So finden Sie Ihre Konto-ID.
- Verwenden Sie das Format:
https://accounts.cloud.databricks.com/oidc/accounts/<account-id>/v1/token
-
<oauth-client-id>: OAuth-Client-ID für Ihren Dienstprinzipal. Siehe Autorisieren des Dienstprinzipalzugriffs auf Azure Databricks mit OAuth. -
<oauth-client-secret>: Der geheime OAuth-Clientschlüssel für Ihren Dienstprinzipal. Siehe Autorisieren des Dienstprinzipalzugriffs auf Azure Databricks mit OAuth.
Hinweis
Die oben gezeigten Paketversionen sind ab dem letzten Update auf dieser Seite aktuell. Neuere Versionen sind möglicherweise verfügbar. Stellen Sie sicher, dass Paketversionen mit Ihrer Spark-Version kompatibel sind.