Uzyskiwanie dostępu do danych usługi Databricks przy użyciu systemów zewnętrznych
Ten artykuł zawiera omówienie funkcji i zaleceń dotyczących udostępniania danych zarządzanych i kontrolowanych przez Azure Databricks w innych systemach.
Te wzorce koncentrują się na scenariuszach, w których organizacja musi zintegrować zaufane narzędzia lub systemy z danymi usługi Azure Databricks. Jeśli szukasz wskazówek dotyczących udostępniania danych spoza organizacji, zobacz Udostępnianie danych i zasobów sztucznej inteligencji bezpiecznie użytkownikom w innych organizacjach.
Jaki dostęp zewnętrzny obsługuje usługa Azure Databricks?
Usługa Azure Databricks zaleca używanie Unity Catalog do zarządzania wszystkimi zasobami danych.
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 | Vending poświadczeń, katalog REST Iceberg, Delta Sharing |
Tabele zewnętrzne | Delta Lake | Dystrybucja poświadczeń, Katalog REST Iceberg, Delta Sharing, identyfikatory URI chmury |
Tabele zewnętrzne | CSV, JSON, Avro, Parquet, ORC, tekst | Chmurowe URI |
Woluminy zewnętrzne | Wszystkie typy danych | Chmurowe URI |
Notatka
Obsługa Iceberg opisuje tabele tworzone przez Azure Databricks z wykorzystaniem Delta Lake, ale z włączonymi odczytami Iceberg (UniForm).
Aby uzyskać więcej informacji na temat tych obiektów Unity Catalog, zobacz następujące tematy:
Udostępnianie poświadczeń w Unity Catalog
Automatyzacja poświadczeń katalogu Unity umożliwia użytkownikom konfigurowanie klientów zewnętrznych w celu przejęcia uprawnień na danych zarządzanych przez Azure Databricks. Zobacz wydawanie poświadczeń dla Unity Catalog w celu uzyskania dostępu do systemu zewnętrznego.
Czytać tabele z klientami Iceberg
Usługa Azure Databricks udostępnia klientom Iceberg obsługę tylko do odczytu tabel zarejestrowanych w wykazie Unity Catalog. Obsługiwani klienci to Apache Spark, Apache Flink, Trino i Snowflake. Zobacz Odczytywanie tabel Databricks za pomocą klientów 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 użytkownikom w innych organizacjach.
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.
Odczytywanie i zapisywanie zewnętrznych tabel delty
Dostęp do tabel zewnętrznych Unity Catalog wspieranych przez Delta Lake można uzyskać z zewnętrznych klientów odczytu i zapisu Delta Lake przy użyciu identyfikatorów URI i poświadczeń przechowywania obiektów w chmurze.
Katalog Unity nie zarządza odczytami i zapisami wykonywanymi bezpośrednio na magazynie obiektów w chmurze z systemów zewnętrznych, dlatego należy skonfigurować dodatkowe zasady i poświadczenia na koncie w chmurze, aby zapewnić przestrzeganie zasad ładu danych poza usługą Azure Databricks.
Notatka
W dokumentacji usługi Azure Databricks wymieniono ograniczenia i zagadnienia dotyczące zgodności oparte na wersjach środowiska Databricks Runtime i funkcjach 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 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.
Katalog Unity nie zarządza odczytami i zapisami wykonywanymi bezpośrednio na magazynie obiektów w chmurze z systemów zewnętrznych, dlatego należy skonfigurować dodatkowe zasady i poświadczenia na koncie w chmurze, aby zapewnić przestrzeganie zasad ładu danych poza usługą 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 usługi Azure Databricks. Zobacz Czym są woluminy Unity Catalog?.
Katalog Unity nie zarządza odczytami i zapisami wykonywanymi bezpośrednio na magazynie obiektów w chmurze z systemów zewnętrznych, dlatego należy skonfigurować dodatkowe zasady i poświadczenia na koncie w chmurze, aby zapewnić przestrzeganie zasad ładu danych poza usługą Azure Databricks.
Woluminy udostępniają interfejsy API, zestawy SDK i inne narzędzia do pobierania plików z woluminów i umieszczania ich w woluminach. Zobacz Zarządzanie plikami w woluminach.
Notatka
Delta Sharing umożliwia udostępnianie zasobów innym kontom usługi Azure Databricks, ale nie integruje się z systemami zewnętrznymi.