Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta strona zawiera omówienie używania Unity REST API do dostępu do tabel zarządzanych przez Unity Catalog i tabel zewnętrznych z zewnętrznych klientów usługi Delta. Aby utworzyć zewnętrzne tabele Delta przez zewnętrznych klientów, zobacz Tworzenie zewnętrznych tabel Delta przez zewnętrznych klientów.
Użyj katalogu REST Iceberg, aby odczytać tabele zarejestrowane w wykazie aparatu Unity w usłudze Azure Databricks z obsługiwanych klientów góry lodowej, w tym Apache Spark i DuckDB.
Aby uzyskać pełną listę obsługiwanych integracji, zobacz Integracje Unity Catalog.
Tip
Aby uzyskać informacje na temat sposobu odczytywania danych z Azure Databricks przy użyciu Microsoft Fabric, zobacz Używanie Microsoft Fabric do odczytywania danych zarejestrowanych w Unity Catalog.
Odczytywanie i zapisywanie przy użyciu REST API Unity
Interfejs REST API Unity umożliwia klientom zewnętrznym dostęp do odczytu do tabel zarejestrowanych w katalogu Unity. Niektórzy klienci obsługują tworzenie tabel oraz zapisywanie danych w już istniejących tabelach.
Skonfiguruj dostęp przy użyciu punktu końcowego /api/2.1/unity-catalog.
Wymagania
Azure Databricks obsługuje dostęp do tabel za pośrednictwem Unity REST API jako część Unity Catalog. Aby korzystać z tych punktów końcowych, musisz mieć włączony katalog Unity w Twoim obszarze roboczym. Następujące typy tabel kwalifikują się do odczytu za pomocą REST API dla Unity:
- Tabele zarządzane Unity Catalog.
- Tabele zewnętrzne Unity Catalog.
Aby skonfigurować dostęp do odczytu obiektów usługi Databricks z klientów Delta za pomocą interfejsu API REST Unity, należy wykonać następujące kroki konfiguracji:
- Włącz dostęp do danych zewnętrznych dla magazynu metadanych. Zobacz Włączanie dostępu do danych zewnętrznych w magazynie metadanych.
- Udziel głównemu podmiotowi konfigurującemu integrację uprawnienia
EXTERNAL USE SCHEMAdo schematu zawierającego obiekty. Zobacz Jak nadawać uprawnienia w Unity Catalog dla głównych podmiotów. - Uwierzytelnianie przy użyciu jednej z następujących metod:
- Osobisty token dostępu (PAT): zobacz Autoryzowanie dostępu do zasobów usługi Azure Databricks.
- Uwierzytelnianie maszyny do maszyny OAuth (M2M): obsługuje automatyczne odświeżanie poświadczeń i tokenów dla długotrwałych zadań platformy Spark (>1 godzina). Zobacz Autoryzowanie dostępu jednostki usługi do usługi Azure Databricks przy użyciu protokołu OAuth.
Odczytywanie tabel Delta przy użyciu Apache Spark z uwierzytelnianiem PAT
Następująca konfiguracja jest wymagana do odczytu tabel zarządzanych przez katalog Unity i zewnętrznych tabel Delta przy użyciu Apache Spark z uwierzytelnianiem za pomocą PAT:
"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"
Zastąp następujące zmienne:
-
<uc-catalog-name>: nazwa katalogu w Unity Catalog, który zawiera twoje tabele. -
<workspace-url>: adres URL obszaru roboczego usługi Azure Databricks. -
<token>: Osobisty token dostępu (PAT) dla głównego podmiotu konfigurującego integrację.
Aby włączyć automatyczne odnawianie poświadczeń dla długotrwałych zadań, dodaj następującą konfigurację:
"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true
Uwaga / Notatka
Wersje pakietów pokazane powyżej są aktualne od ostatniej aktualizacji tej strony. Nowsze wersje mogą być dostępne. Sprawdź, czy wersje pakietów są zgodne z wersją środowiska Databricks Runtime i wersją platformy Spark.
Aby uzyskać dodatkowe szczegóły dotyczące konfigurowania Apache Spark dla magazynu obiektów w chmurze, zobacz dokumentację Unity Catalog OSS.
Odczytywanie tabel Delta za pomocą platformy Apache Spark z użyciem uwierzytelniania OAuth
Usługa Azure Databricks obsługuje również uwierzytelnianie maszynowo-maszynowe OAuth (M2M). OAuth automatycznie obsługuje odnawianie tokenu na potrzeby uwierzytelniania w Unity Catalog. W przypadku długotrwałych zadań, które również wymagają automatycznego odnawiania poświadczeń magazynu w chmurze, włącz spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled ustawienie w konfiguracji platformy Spark.
Uwierzytelnianie OAuth dla zewnętrznych klientów platformy Spark wymaga:
- Klient Spark Unity Catalog w wersji 0.3.1 lub nowszej (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 lub nowszy
- Usługa Delta Spark 4.0.1 lub nowsza z obsługą protokołu OAuth
- Podmiot usługowy OAuth M2M z odpowiednimi uprawnieniami. Zobacz Autoryzowanie dostępu jednostki usługi do usługi Azure Databricks przy użyciu protokołu OAuth.
Następująca konfiguracja jest wymagana do odczytu tabel zarządzanych w Unity Catalog i zewnętrznych Delta tables z użyciem Apache Spark przy użyciu uwierzytelniania OAuth:
"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"
Zastąp następujące zmienne:
-
<uc-catalog-name>: nazwa katalogu w Unity Catalog, który zawiera twoje tabele. -
<workspace-url>: adres URL obszaru roboczego usługi Azure Databricks. Zobacz Nazwy wystąpień obszaru roboczego, adresy URL i identyfikatory. -
<oauth-token-endpoint>: adres URL punktu końcowego tokenu OAuth. Aby skonstruować ten adres URL:- Znajdź identyfikator konta usługi Databricks. Zobacz Znajdź swój identyfikator konta.
- Użyj formatu:
https://accounts.cloud.databricks.com/oidc/accounts/<account-id>/v1/token
-
<oauth-client-id>: identyfikator klienta OAuth dla podmiotu usługowego. Zobacz Autoryzowanie dostępu jednostki usługi do usługi Azure Databricks przy użyciu protokołu OAuth. -
<oauth-client-secret>: Tajemnica klienta OAuth dla głównego użytkownika usługi. Zobacz Autoryzowanie dostępu jednostki usługi do usługi Azure Databricks przy użyciu protokołu OAuth.
Uwaga / Notatka
Wersje pakietów pokazane powyżej są aktualne od ostatniej aktualizacji tej strony. Nowsze wersje mogą być dostępne. Sprawdź, czy wersje pakietów są zgodne z wersją platformy Spark.