Databricks-Tabellen von Delta-Clients lesen
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.
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 mithilfe der Unity-REST-API
Die Unity-REST-API bietet externen Clients Lesezugriff auf Delta-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 des Unity-Katalogs, die mit Delta Lake gespeichert sind.
Sie müssen die folgenden Konfigurationsschritte ausführen, um den Zugriff auf Datenbricks-Tabellen 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, der die Integration konfiguriert, das
EXTERNAL USE SCHEMA
-Berechtigungsrecht für das Schema, das die Tabellen enthält. Weitere Informationen finden Sie unter Zuweisung von EXTERNAL USE SCHEMA zu einem Prinzipal. - Authentifizieren sie sich mit einem Databricks-Token für den persönlichen Zugriff. Siehe Autorisierung des Zugriffs auf Azure Databricks-Ressourcen.
Lesen von Delta-Tabellen mit Apache Spark
Im Folgenden finden Sie ein Beispiel für die Einstellungen zum Konfigurieren von Apache Spark zum Lesen verwalteter und externer Delta-Tabellen im Unity-Katalog:
"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>"
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>
: PAT-Token für den Hauptbenutzer, der die Integration konfiguriert.
Wichtig
Bestimmte Konfigurationen variieren je nach Typ des Cloud-Objektspeichers, der den Katalog unterstützt. Weitere Konfigurationen finden Sie in den dokumentationen OSS Unity Catalog.