Uzyskiwanie dostępu do danych usługi Databricks przy użyciu systemów zewnętrznych

Ta strona zawiera omówienie funkcji i zaleceń dotyczących udostępniania danych zarządzanych i kontrolowanych przez Azure Databricks systemom zewnętrznym.

Te wzorce koncentrują się na scenariuszach, w których organizacja musi zintegrować zaufane narzędzia lub systemy z danymi w Azure Databricks. Jeśli szukasz wskazówek dotyczących udostępniania danych spoza organizacji, zobacz Bezpieczne udostępnianie danych i zasobów sztucznej inteligencji.

Jaki dostęp zewnętrzny obsługuje Azure Databricks?

Azure Databricks zaleca używanie Unity Catalog do zarządzania wszystkimi zasobami danych. Katalog Unity zapewnia integrację klientów Delta Lake przy użyciu interfejsu API REST Unity i klientów Apache Iceberg przy użyciu katalogu REST Iceberg. Aby uzyskać pełną listę obsługiwanych integracji, zobacz Integracje Unity Catalog.

Poniższa tabela zawiera omówienie formatów wsparcia i wzorców dostępu dla obiektów katalogu Unity.

Obiekt katalogu Unity Obsługiwane formaty Wzorce dostępu
Tabele zarządzane Delta Lake, Iceberg Unity REST API, katalog Iceberg REST, Delta Sharing
Tabele zewnętrzne Delta Lake Interfejs API REST Unity, Iceberg REST katalog, Delta Sharing, identyfikatory URI chmury
Tabele zewnętrzne CSV, JSON, Avro, Parquet, ORC, tekst Interfejs API REST aparatu Unity, identyfikatory URI chmury
Woluminy zewnętrzne Wszystkie typy danych Chmurowe URI
Tabele zewnętrzne* Delta Lake, Iceberg Interfejs API REST Unity, katalog REST Iceberg (wersja zapoznawcza), Delta Sharing
Tabele zewnętrzne* CSV, JSON, Avro, Parquet, ORC, tekst Interfejs API REST aparatu Unity, identyfikatory URI chmury

Obsługiwane są tylko tabele obce federowane przy użyciu federacji katalogu. Aby zagwarantować nowe odczyty z silników zewnętrznych w tabelach zewnętrznych, klienci mogą okresowo odświeżać metadane przy użyciu zadań Lakeflow.

Aby uzyskać więcej informacji na temat tych obiektów Unity Catalog, zobacz następujące tematy:

Udostępnianie poświadczeń w Unity Catalog

Umożliwienie wydawania poświadczeń w Unity Catalog pozwala użytkownikom konfigurować zewnętrznych klientów do dziedziczenia uprawnień na danych zarządzanych przez Azure Databricks. Zarówno klienci Iceberg, jak i Delta mogą obsługiwać wydawanie poświadczeń. Zobacz wydawanie poświadczeń dla Unity Catalog w celu uzyskania dostępu do systemu zewnętrznego.

Uzyskiwanie dostępu do tabel przy użyciu klientów delty

Użyj interfejsu Unity REST API do odczytu, zapisu i tworzenia tabel zarządzanych i zewnętrznych w Unity Catalog, wspieranych przez Delta Lake, z obsługiwanych klientów Delta. Zobacz Access Databricks tables from Delta clients (Uzyskiwanie dostępu do tabel usługi Databricks z klientów usługi Delta).

Ważne

Tworzenie i zapisywanie w zarządzanych tabelach Unity Catalog z klientów Delta jest dostępne w wersji beta.

W przypadku tabel zewnętrznych Unity Catalog nie zarządza odczytami i zapisami wykonywanymi bezpośrednio z systemów zewnętrznych do magazynu obiektów w chmurze, dlatego należy skonfigurować dodatkowe zasady i uprawnienia na koncie w chmurze, aby upewnić się, że zasady ładu danych są przestrzegane poza systemem Azure Databricks.

Notatka

W dokumentacji Azure Databricks wymieniono ograniczenia i zagadnienia dotyczące zgodności na podstawie wersji środowiska Databricks Runtime i funkcji platformy. Należy potwierdzić, jakie protokoły czytników i modułów zapisywania oraz funkcje tabeli obsługuje klient. Zobacz delta.io.

Uzyskiwanie dostępu do tabel za pomocą klientów Iceberg

Azure Databricks zapewnia klientom Iceberg obsługę odczytu, zapisu i tworzenia tabel zarejestrowanych w katalogu Unity Catalog. Obsługiwani klienci to Apache Spark, Apache Flink, Trino i Snowflake. Zobacz tabele Access Azure Databricks z klientów platformy Apache Iceberg.

Udostępnianie tabel tylko do odczytu między domenami

Delta Sharing umożliwia udostępnianie danych wyłącznie do odczytu dla zarządzanych lub zewnętrznych tabel Delta między domenami i obsługiwanymi systemami. Systemy oprogramowania, które obsługują operacje odczytu bez kopiowania tabel usługi Delta Sharing, obejmują systemy SAP, Amperity i Oracle. Zobacz Bezpieczne udostępnianie danych i zasobów sztucznej inteligencji.

Notatka

Możesz także użyć Delta Sharing, aby przyznać klientom lub partnerom dostęp tylko do odczytu. Funkcja Delta Sharing wspiera również dane udostępniane za pośrednictwem Databricks Marketplace.

Uzyskiwanie dostępu do danych tabelarycznych spoza usługi Delta Lake przy użyciu tabel zewnętrznych

Tabele zewnętrzne w Unity Catalog obsługują wiele formatów innych niż Delta Lake, w tym Parquet, ORC, CSV i JSON. Tabele zewnętrzne przechowują wszystkie pliki danych w katalogach w lokalizacji magazynu obiektów w chmurze określonej przez identyfikator URI chmury podany podczas tworzenia tabeli. Inne systemy uzyskują dostęp do tych plików danych bezpośrednio z magazynu obiektów w chmurze.

Unity Catalog nie zarządza odczytami i zapisami wykonywanymi bezpośrednio wobec chmurowego magazynu obiektów przez systemy zewnętrzne, dlatego należy skonfigurować dodatkowe zasady i poświadczenia na koncie w chmurze, aby upewnić się, że zasady zarządzania danymi są przestrzegane poza Azure Databricks.

Odczytywanie i zapisywanie w tabelach zewnętrznych z wielu systemów może prowadzić do problemów ze spójnością i uszkodzenia danych, ponieważ nie są zapewniane żadne gwarancje transakcyjne dla formatów innych niż usługa Delta Lake.

Unity Catalog może nie wykrywać nowych partycji zapisanych w tabelach zewnętrznych obsługiwanych przez formaty inne niż Delta Lake. Usługa Databricks zaleca regularne uruchamianie MSCK REPAIR TABLE table_name, aby upewnić się, że Unity Catalog zarejestrował wszystkie dane zapisane przez systemy zewnętrzne.

Uzyskiwanie dostępu do danych innych niż tabelaryczne przy użyciu woluminów zewnętrznych

Usługa Databricks zaleca używanie woluminów zewnętrznych do przechowywania plików danych innych niż tabelaryczne, które są odczytywane lub zapisywane przez systemy zewnętrzne oprócz Azure Databricks. Zobacz Czym są wolumeny Unity Catalog?.

Unity Catalog nie zarządza odczytami i zapisami wykonywanymi bezpośrednio wobec chmurowego magazynu obiektów przez systemy zewnętrzne, dlatego należy skonfigurować dodatkowe zasady i poświadczenia na koncie w chmurze, aby upewnić się, że zasady zarządzania danymi są przestrzegane poza Azure Databricks.

Wolumeny udostępniają API, SDK i inne narzędzia do pobierania plików z wolumenów i umieszczania ich w wolumenach. Zobacz Praca z plikami w woluminach katalogu Unity.

Notatka

Delta Sharing umożliwia udostępnianie zasobów na inne konta Azure Databricks, jednak nie integruje się z systemami zewnętrznymi.