Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Deze pagina biedt een overzicht van het gebruik van de Unity REST API voor toegang tot beheerde en externe tabellen van externe Delta-clients van Unity Catalog. Zie Externe Delta-tabellen maken vanuit externe clients voor instructies over hoe u externe Delta-tabellen kunt maken vanuit externe clients.
Gebruik de Iceberg REST-catalogus om geregistreerde Unity Catalog-tabellen op Azure Databricks te lezen van ondersteunde Iceberg-clients, waaronder Apache Spark en DuckDB.
Zie Unity Catalog-integraties voor een volledige lijst met ondersteunde integraties.
Tip
Zie Microsoft Fabric gebruiken om gegevens te lezen die zijn geregistreerd in Unity Catalogvoor meer informatie over het lezen van Azure Databricks-gegevens met behulp van Microsoft Fabric.
Lezen en schrijven met behulp van de Unity REST API
De Unity REST API biedt externe clients leestoegang tot tabellen die zijn geregistreerd bij Unity Catalog. Sommige clients ondersteunen ook het maken van tabellen en het schrijven naar bestaande tabellen.
Configureer de toegang met behulp van uw werkruimte-URL. De Unity Catalog Spark-client stuurt aanvragen automatisch naar het juiste Eindpunt van de Unity Catalog-API.
Belangrijk
De werkruimte-URL die wordt gebruikt voor het Eindpunt van de Unity REST API moet de werkruimte-id bevatten. Zonder de werkruimte-id kunnen API-aanvragen een 303 omleiding naar een aanmeldingspagina retourneren in plaats van het verwachte antwoord.
Zie Namen, URL's en ID's van Werkruimte-instanties om de URL en het ID van uw werkruimte te vinden.
Requirements
Azure Databricks biedt ondersteuning voor Unity REST API-toegang tot tabellen als onderdeel van Unity Catalog. U moet Unity Catalog in uw werkruimte hebben ingeschakeld om deze eindpunten te kunnen gebruiken. De volgende tabeltypen komen in aanmerking voor leesbewerkingen van de Unity REST API:
- Unity Catalog beheerde tabellen.
- Externe tabellen van Unity Catalog.
U moet de volgende configuratiestappen uitvoeren om de toegang te configureren voor het lezen van Databricks-objecten van Delta-clients met behulp van de Unity REST API:
- Schakel externe gegevenstoegang in voor uw metastore. Zie Externe gegevenstoegang inschakelen in de metastore.
- Geef de principal die de integratie configureert de
EXTERNAL USE SCHEMAbevoegdheid op het schema dat de objecten bevat. Zie Unity Catalog-rechten aan een principal verlenen. - Verifieer met behulp van een van de volgende methoden:
- Persoonlijk toegangstoken (PAT): Zie Toegang tot Azure Databricks-resources autoriseren.
- OAuth-verificatie van machine-naar-machine (M2M): ondersteunt automatische referentie- en tokenvernieuwing voor langlopende Spark-taken (>1 uur). Zie het autoriseren van toegang voor een service-principal tot Azure Databricks met OAuth.
Delta-tabellen lezen met Apache Spark met behulp van PAT-verificatie
De volgende configuratie is vereist voor het lezen van beheerde en externe Delta-tabellen van Unity Catalog met Apache Spark met behulp van PAT-verificatie:
"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>",
"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"
Vervang de volgende variabelen:
-
<uc-catalog-name>: de naam van de catalogus in Unity Catalog die uw tabellen bevat. -
<token>: Persoonlijk toegangstoken (PAT) voor de principal die de integratie configureert.
-
<workspace-url>: de URL van de Azure Databricks-werkruimte, inclusief de werkruimte-id. Bijvoorbeeld:adb-1234567890123456.12.azuredatabricks.net.
Als u automatische verlenging van referenties wilt inschakelen voor langlopende taken, voegt u de volgende configuratie toe:
"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true
Opmerking
De hierboven weergegeven pakketversies zijn actueel vanaf de laatste update van deze pagina. Nieuwere versies zijn mogelijk beschikbaar. Controleer of pakketversies compatibel zijn met uw Databricks Runtime-versie en Spark-versie.
Zie de DOCUMENTATIE van Unity Catalog OSS voor meer informatie over het configureren van Apache Spark voor cloudobjectopslag.
Delta-tabellen lezen met Apache Spark met behulp van OAuth-verificatie
Azure Databricks biedt ook ondersteuning voor verificatie van OAuth-machine-to-machine (M2M). OAuth verwerkt automatisch het vernieuwen van tokens voor Unity Catalog-verificatie. Schakel de spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled instelling in uw Spark-configuratie in voor langlopende taken waarvoor ook automatische vernieuwing van cloudopslagreferenties is vereist.
OAuth-verificatie voor externe Spark-clients vereist:
- Unity Catalog Spark-clientversie 0.3.1 of hoger (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 of hoger
- Delta Spark 4.0.1 of hoger met OAuth-ondersteuning
- Een OAuth M2M-service-principal met de juiste machtigingen. Zie Service-principaltoegang autoriseren voor Azure Databricks met OAuth.
De volgende configuratie is vereist voor het lezen van beheerde tabellen van Unity Catalog en externe Delta-tabellen met Apache Spark met behulp van OAuth-verificatie:
"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>",
"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"
Vervang de volgende variabelen:
-
<uc-catalog-name>: de naam van de catalogus in Unity Catalog die uw tabellen bevat. -
<oauth-token-endpoint>: EINDPUNT-URL van OAuth-token. Ga als volgt te werk om deze URL te maken:- Zoek uw Databricks-account-id. Zie Uw account-id opzoeken.
- Gebruik de notatie:
https://accounts.cloud.databricks.com/oidc/accounts/<account-id>/v1/token
-
<oauth-client-id>: OAuth-client-id voor uw service-principal. Zie Autoriseer toegang voor de service-principal tot Azure Databricks met OAuth. -
<oauth-client-secret>: OAuth-clientgeheim voor uw service-principal. Zie Autoriseer toegang tot de service-principal voor Azure Databricks met OAuth.
-
<workspace-url>: de URL van de Azure Databricks-werkruimte, inclusief de werkruimte-id. Bijvoorbeeld:adb-1234567890123456.12.azuredatabricks.net.
Opmerking
De hierboven weergegeven pakketversies zijn actueel vanaf de laatste update van deze pagina. Nieuwere versies zijn mogelijk beschikbaar. Controleer of pakketversies compatibel zijn met uw Spark-versie.