Łączenie się z magazynem obiektów w chmurze i usługami za pomocą Unity Catalog
Ten artykuł zawiera omówienie połączeń magazynu w chmurze wymaganych do pracy z danymi przy użyciu Unity Catalog, a także informacje o tym, jak Unity Catalog zarządza dostępem do magazynu w chmurze i zewnętrznych usług w chmurze.
Uwaga
Jeśli obszar roboczy został utworzony przed 9 listopada 2023 r., może nie być obsługiwany przez Unity Catalog. Administrator konta musi włączyć Unity Catalog dla Twojego obszaru roboczego. Zobacz Umożliwienie obszaru roboczego dla Unity Catalog.
Jak Unity Catalog korzysta z przechowalnika danych w chmurze?
Usługa Databricks zaleca używanie Unity Catalog do zarządzania dostępem do wszystkich danych przechowywanych w magazynie obiektów w chmurze obliczeniowej. Unity Catalog udostępnia zestaw narzędzi do konfigurowania bezpiecznych połączeń z magazynem obiektów w chmurze. Te połączenia zapewniają dostęp do wykonania następujących akcji:
- Ładowanie danych pierwotnych do lakehouse’u.
- Twórz i czytaj zarządzane tabele oraz zarządzane woluminy danych niestrukturalnych w pamięci masowej w chmurze zarządzanej przez Unity Catalog.
- Zarejestruj lub utwórz zewnętrzne tabele zawierające dane tabelaryczne oraz zewnętrzne woluminy zawierające dane niestrukturalne w magazynie w chmurze zarządzanym przez dostawcę chmury.
- Odczytywanie i zapisywanie danych niestrukturalnych (w postaci woluminów Unity Catalog ).
Aby być bardziej szczegółowym, Unity Catalog używa magazynu w chmurze w dwóch podstawowych sposobach.
- Domyślne (lub "zarządzane") lokalizacje magazynu dla zarządzanych tabel i woluminów zarządzanych (bez struktury, danych innych niż tabelaryczne), które są tworzone w usłudze Databricks. Te zarządzane lokalizacje magazynu można zdefiniować na poziomie magazynu metadanych, katalogu lub schematu. Tworzysz zarządzane lokalizacje magazynu u swojego dostawcy usług w chmurze, ale ich cykl życia jest w pełni zarządzany przez Unity Catalog.
- Miejsca przechowywania, w których przechowywane są zewnętrzne tabele i woluminy. Są to tabele i wolumeny, których dostęp z usługi Azure Databricks jest zarządzany przez Unity Catalog, ale których cykl życia danych i układ plików są zarządzane przy użyciu Twojego dostawcy chmury i innych platform danych. Zazwyczaj używasz tabel zewnętrznych do rejestrowania dużych ilości istniejących danych w usłudze Azure Databricks lub jeśli potrzebujesz również dostępu do zapisu do danych przy użyciu narzędzi spoza usługi Azure Databricks.
Aby uzyskać więcej informacji na temat zarządzanych vs zewnętrznych tabel i woluminów, zobacz sekcje Co to jest tabela? i Co to są woluminy w katalogu Unity?.
Ostrzeżenie
Nie udzielaj użytkownikom końcowym dostępu na poziomie przechowywania do zarządzanych tabel lub woluminów w systemie Unity Catalog. To zagraża bezpieczeństwu danych i ładowi.
Udzielanie użytkownikom, jednostkom usługi lub tożsamościom zarządzanym bezpośredniego dostępu do kontenerów Azure Data Lake Storage Gen2 zawierających dane zarządzane przez Unity Catalog pomija Unity Catalog. Naraża to dane na nadmierne uprawnienia, eksfiltrację i nieautoryzowany dostęp, jednocześnie komplikując inspekcję i zwiększając obciążenie zarządcze.
Bezpośredni dostęp do magazynu nie jest obsługiwany w przypadku tabel zarządzanych przez Unity Catalog.
Którzy dostawcy magazynu w chmurze są obsługiwani?
Usługa Azure Databricks obsługuje zarówno kontenery usługi Azure Data Lake Storage Gen2, jak i zasobniki Cloudflare R2 jako lokalizacje magazynu w chmurze dla danych i zasobów AI zarejestrowanych w wykazie Unity Catalog. R2 jest przeznaczony głównie dla przypadków użycia, w których chcesz uniknąć opłat za ruch wychodzący danych, takich jak Delta Sharing w różnych chmurach i regionach. Aby uzyskać więcej informacji, zobacz Use Cloudflare R2 replicas or migrate storage to R2 (Używanie replik cloudflare R2 lub migrowanie magazynu do wersji R2).
Jak Unity Catalog zarządza dostępem do przechowywania w chmurze?
Aby zarządzać dostępem do bazowego magazynu w chmurze zawierającego tabele i woluminy, Unity Catalog używa zabezpieczanego obiektu o nazwie lokalizacja zewnętrzna, który definiuje ścieżkę do magazynu w chmurze oraz poświadczenia niezbędne do uzyskania dostępu do tej lokalizacji. Te poświadczenia są z kolei zdefiniowane w obiekcie zabezpieczeń w katalogu Unity, nazywanym poświadczeniem magazynowym
Aby uzyskać szczegółowe informacje, zobacz Zarządzanie dostępem do przechowywania danych w chmurze za pomocą Unity Catalog.
Dostęp oparty na ścieżkach do magazynu w chmurze
Mimo że Unity Catalog obsługuje dostęp oparty na ścieżkach do tabel zewnętrznych i woluminów zewnętrznych przy użyciu identyfikatorów URI magazynu w chmurze, Databricks zaleca użytkownikom odczytywanie i zapisywanie wszystkich tabel Unity Catalog przy użyciu nazw tabel oraz uzyskiwanie dostępu do danych w woluminach przy użyciu ścieżek /Volumes
.
Wolumeny są obiektem, który można zabezpieczyć, z którego większość użytkowników usługi Azure Databricks powinna korzystać do bezpośredniej interakcji z danymi nietabularnymi w magazynie obiektów w chmurze. Zobacz Co to są woluminy katalogu Unity?.
Ostrzeżenie
W przypadku aktualizowania metadanych tabeli zewnętrznej za pomocą klienta innego niż Databricks lub poprzez dostęp oparty na ścieżkach z poziomu Databricks, metadane nie są automatycznie synchronizowane z Unity Catalog. Usługa Databricks odradza takie aktualizacje metadanych, ale jeśli jednak rozpoczniesz jedną, należy uruchomić MSCK REPAIR TABLE <table-name> SYNC METADATA
, aby zaktualizować schemat w Unity Catalog. Zobacz REPAIR TABLE.
Najlepsze praktyki dotyczące przechowywania w chmurze z Unity Catalog
Usługa Azure Databricks wymaga użycia Azure Data Lake Storage Gen2 jako usługi Storage Azure do przechowywania danych przetwarzanych w Azure Databricks za pomocą zarządzania za pośrednictwem Unity Catalog. Usługa Azure Data Lake Storage Gen2 umożliwia oddzielenie kosztów magazynowania i kosztów obliczeń oraz korzystanie z dostępnej szczegółowej kontroli dostępu, zapewnianej przez Unity Catalog. Jeśli dane są przechowywane w OneLake (data lake Microsoft Fabric) i przetwarzane przez Databricks (z pominięciem Unity Catalog), zostaną naliczone łączone koszty magazynowania i mocy obliczeniowej. Może to prowadzić do kosztów, które są około 3 razy wyższe w przypadku operacji odczytu i 1,6 razy wyższe w przypadku operacji zapisu w porównaniu z usługą Azure Data Lake Storage Gen2 na potrzeby przechowywania, odczytywania i zapisywania danych. Usługa Azure Blob Storage nie jest zgodna z katalogiem Unity Catalog.
W jaki sposób Unity Catalog zarządza dostępem do innych usług chmury?
Unity Catalog zarządza dostępem do usług innych niż magazynowanie przy użyciu obiektu zabezpieczającego o nazwie poświadczenie usługi. Poświadczenie usługi hermetyzuje długoterminowe poświadczenia chmurowe, które zapewniają dostęp do usługi zewnętrznej, do której użytkownicy muszą uzyskać połączenie z Azure Databricks.
Dane uwierzytelniające usług nie są przeznaczone do zarządzania dostępem do pamięci w chmurze, która jest używana jako lokalizacja pamięci zarządzana przez Unity Catalog lub zewnętrzną lokalizacją pamięci. Dla tych przypadków użycia użyj poświadczeń dostępu do magazynu zgodnie z opisem w Jak Unity Catalog zarządza dostępem do magazynu w chmurze?.
Aby uzyskać szczegółowe informacje, zobacz:
- Zarządzanie dostępem do zewnętrznych usług w chmurze przy użyciu poświadczeń usługi
- Zarządzanie poświadczeniami usługi
- Użyj poświadczeń usługi Unity Catalog do połączenia z zewnętrznymi usługami w chmurze
Następne kroki
Jeśli dopiero zaczynasz korzystać z Unity Catalog jako administrator, zapoznaj się z:
Jeśli jesteś nowym użytkownikiem i twój obszar roboczy ma już włączony Unity Catalog, przeczytaj:
Aby dowiedzieć się więcej na temat zarządzania dostępem do magazynu w chmurze, zobacz:
Aby dowiedzieć się więcej na temat zarządzania dostępem do usług w chmurze, zobacz: