Włączanie federacji magazynu metadanych Hive dla starszego obszaru roboczego Magazynu metadanych Hive
Ważny
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
W tym artykule pokazano, jak sfederować starszy magazyn metadanych usługi Azure Databricks Hive, aby organizacja mogła pracować z magazynem metadanych Hive tables przy użyciu środowiska Unity Catalog.
Aby zapoznać się z omówieniem federacji magazynu metadanych Hive, zobacz federacji magazynu metadanych Hive: włączanie Catalog Aparatu Unity w celu zarządzania tables zarejestrowanych w magazynie metadanych Hive.
Przed rozpoczęciem
Przejrzyj list usług i funkcji obsługiwanych przez federację magazynu metadanych Hive: Wymagania, obsługiwane funkcje i ograniczenia.
Konkretne wymagania są wymienione dla każdego z poniższych kroków.
Krok 1: Podłącz Unity Catalog do magazynu metadanych Hive
W tym kroku utworzysz połączenie , zabezpieczalny obiekt Unity Catalog, który określa ścieżkę i credentials do uzyskiwania dostępu do systemu baz danych, w tym przypadku starszego metastore Hive obszaru roboczego Azure Databricks.
Wymagania
- Uprawnienie
CREATE CONNECTION
w magazynie metadanych Catalog Unity.
Tworzenie połączenia
Połączenie określa ścieżkę i credentials na potrzeby uzyskiwania dostępu do zewnętrznego systemu bazy danych. Aby utworzyć połączenie, możesz użyć eksploratora Catalog lub polecenia CREATE CONNECTION
SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL usługi Databricks.
Notatka
Do utworzenia połączenia można również użyć interfejsu API REST usługi Databricks lub interfejsu wiersza polecenia usługi Databricks. Zobacz POST /api/2.1/unity-catalog/connections i polecenia Unity Catalog.
Wymagane uprawnienia: administrator magazynu metadanych lub użytkownik z uprawnieniami CREATE CONNECTION
.
Eksplorator Catalog
W obszarze roboczym usługi Azure Databricks kliknij ikonę Catalog.
Na stronie Szybki dostęp kliknij pozycję Dodaj dane > Dodaj połączenie.
Na stronie Podstawowe informacje o połączeniu kreatora Set połączenia wprowadź przyjazną dla użytkownika nazwę połączenia .
Select typ połączenia magazynu metadanych Hive i typu magazynu metadanychwewnętrznego.
(Opcjonalnie) Dodaj komentarz.
Kliknij przycisk Dalej.
(Opcjonalnie) Na stronie szczegóły połączenia , wprowadź w pełni kwalifikowaną ścieżkę do katalogu Hive Warehouse.
Jest to konieczne tylko wtedy, gdy nie chcesz używać lokalizacji domyślnej.
Kliknij pozycję Utwórz połączenie.
Na stronie Catalog podstawowe wprowadź nazwę obcego catalog.
W przypadku autoryzowanych ścieżek wybierz ścieżki magazynu w chmurze, do których można uzyskać dostęp za pośrednictwem catalog. Tylko tables, które znajdują się pod tymi ścieżkami, można zapytać za pośrednictwem federacyjnego catalog. Ścieżki muszą być objęte lokalizacjami zewnętrznymi. Aby uzyskać więcej informacji, zobacz Co to są autoryzowane ścieżki?.
(Opcjonalnie) W przypadku lokalizacji magazynu wybierz lokalizację w magazynie w chmurze, where wybrane dane będą przechowywane dla tables w tym catalog. Jeśli nie zostanie określona, lokalizacja zostanie domyślnie ustawiona na lokalizację katalogu głównego magazynu metadanych, jeśli jest obecna.
Kliknij Utwórz catalog.
Na stronie Accessselect obszary robocze, w których użytkownicy mogą uzyskiwać dostęp do utworzonego catalog. Możesz selectuzyskać dostęp do wszystkich obszarów roboczychlub kliknij , aby przypisać do obszarów roboczych, select te obszary robocze, a następnie kliknij Przypisz.
Dodaj właściciela
, który będzie mógł zarządzać dostępem do wszystkich obiektów w . Zacznij wpisywać użytkownika lub grupę w polu tekstowym, a następnie kliknij użytkownika lub grupę w zwróconych wynikach. Grant uprawnienia w catalog. Kliknij Grant:
- Określ Principals, którzy będą mieli dostęp do obiektów w catalog. Zacznij wpisywać użytkownika lub grupę w polu tekstowym, a następnie kliknij użytkownika lub grupę w zwróconych wynikach.
-
Select ustawienia wstępne uprawnień grant do każdego użytkownika lub grupy. Wszyscy użytkownicy konta domyślnie otrzymują
BROWSE
.-
Select
Data Reader z menu rozwijanego, aby przyznać grant
read
uprawnienia do obiektów w catalog. -
Select
Edytor danych z menu rozwijanego do grant
read
orazmodify
uprawnień do obiektów w catalog. - Ręcznie select uprawnienia do grant.
-
Select
Data Reader z menu rozwijanego, aby przyznać grant
- Kliknij Grant.
Kliknij przycisk Dalej.
Na stronie Metadane określ pary klucz-wartość tagów. Aby uzyskać więcej informacji, zobacz Dodawanie tagów do obiektów zabezpieczanych w Unity Catalog.
(Opcjonalnie) Dodaj komentarz.
Kliknij Zapisz.
SQL
Uruchom następujące polecenie w notesie lub edytorze zapytań SQL usługi Databricks.
CREATE CONNECTION IF NOT EXISTS <connection-name> TYPE hive_metastore
OPTIONS (builtin true);
Krok 2. Tworzenie lokalizacji zewnętrznych dla danych w wewnętrznym starszym magazynie metadanych Hive
W tym kroku skonfigurujesz lokalizację zewnętrzną w środowisku Unity Catalog, aby zarządzać dostępem do lokalizacji magazynu w chmurze, które przechowują dane zarejestrowane w starszym wewnętrznym magazynie metadanych Hive.
Lokalizacje zewnętrzne to obiekty zabezpieczalne Catalog Unity, które kojarzą magazyn credentials ze ścieżkami kontenerów pamięci w chmurze. Zobacz lokalizacje zewnętrzne i magazyn credentials.
Wymagania
Aby uzyskać informacje o wymaganiach dotyczących uprawnień magazynu w chmurze i usługi Azure Databricks, zobacz "Przed rozpoczęciem" w Tworzenie lokalizacji zewnętrznej w celu połączenia magazynu w chmurze z usługą Azure Databricks.
Jeśli tworzysz lokalizację zewnętrzną dla katalogu głównego DBFS obszaru roboczego, zapoznaj się z sekcją "Przed rozpoczęciem" w Tworzenie lokalizacji zewnętrznej w katalogu głównym systemu plików DBFS.
Opcje tworzenia lokalizacji zewnętrznej
Proces zalecany przez usługę Databricks do utworzenia lokalizacji zewnętrznej w środowisku Unity Catalog zależy od sytuacji:
- Jeśli federujesz wewnętrzny metastore Hive usługi Databricks, który przechowuje dane w punktach montowania DBFS lub w głównym katalogu DBFS, utwórz lokalizację zewnętrzną za pomocą Eksploratora Catalog i użyj opcji “Kopiuj z punktu montowania DBFS”. Postępuj zgodnie z instrukcjami w Ręczne tworzenie lokalizacji zewnętrznej przy użyciu programu Catalog Explorer lub Tworzenie lokalizacji zewnętrznej dla danych wgłównym systemu plików DBFS.
- W przeciwnym razie można użyć programów Catalog Explorer lub poleceń SQL. Postępuj zgodnie z instrukcjami w Ręczne tworzenie lokalizacji zewnętrznej przy użyciu programu Catalog Explorer lub Tworzenie lokalizacji zewnętrznej przy użyciu programu SQL.
Włącz tryb rezerwowy w lokalizacjach zewnętrznych
Gdy tylko utworzysz lokalizację zewnętrzną w środowisku Unity Catalog, dostęp do ścieżki reprezentowanej przez tę lokalizację zewnętrzną jest egzekwowany za pomocą uprawnień Unity Catalog podczas wykonywania zapytań w obliczeniach obsługiwanych przez Unity Catalog(dla jednego użytkownika, współdzielonych lub w magazynie SQL). Może to przerwać istniejące obciążenia, które nie mają właściwych uprawnień Unity Catalog do dostępu do ścieżki.
Gdy zewnętrzna lokalizacja jest w trybie rezerwowym, system najpierw sprawdza uprawnienia Unity Catalog podmiotu zabezpieczeń kwerendy względem lokalizacji, a jeśli to nie powiedzie się, powraca do używania istniejącego klastra lub o zakresie notesu credentials, takich jak profile instancji lub właściwości konfiguracji Apache Spark, aby istniejące obciążenia nadal działały bez zakłóceń.
Tryb zapasowy jest wygodny, gdy przeprowadzasz migrację przestarzałego obciążenia roboczego. Po zaktualizowaniu obciążeń w celu pomyślnego uruchomienia przy użyciu uprawnień Unity Catalog, należy wyłączyć tryb rezerwowy, aby zapobiec używaniu starszych credentials o zakresie klastra w celu obejścia ładu zarządzania danymi Unity Catalog.
Tryb rezerwowy można włączyć za pomocą Catalog Eksploratora lub interfejsu API REST lokalizacji zewnętrznych Unity Catalog.
Uprawnienia wymagane: właściciel lokalizacji zewnętrznej.
Eksplorator Catalog
- W obszarze roboczym usługi Azure Databricks kliknij ikonę Catalog.
- Na stronie szybki dostęp kliknij pozycję Dane zewnętrzne >.
- Select lokalizacji zewnętrznej, którą chcesz update.
- Włącz przełącznik trybu rezerwowego , i kliknij Włącz, aby potwierdzić.
API
W poniższych przykładach programu curl pokazano, jak włączyć tryb rezerwowy podczas tworzenia lokalizacji zewnętrznej i update istniejącej lokalizacji zewnętrznej.
Tworzenie nowej lokalizacji zewnętrznej:
curl -X POST -H 'Authorization: Bearer <token>' \
https://<workspace-URL>/api/2.1/unity-catalog/external-locations \
--data
'{
"name": "fallback_mode_enabled_external_location",
"url": "abfss://container-name@storage-account.dfs.core.windows.net/external_location_container/url",
"credential_name": "external_location_credential",
"fallback": true
"skip_validation": true
}'
Aktualizowanie lokalizacji zewnętrznej:
curl -X PATCH \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
https://<workspace-URL>/api/2.1/unity-catalog/external-locations/<external-location-name> \
--data
'{
"comment": "fallback mode enabled",
"fallback": true
}'
Krok 3: Utwórz federacyjny catalog
W tym kroku używasz połączenia utworzonego w kroku 1, aby stworzyć lokalizację federacyjną catalog w środowisku Unity Catalog, która wskazuje na lokalizację zewnętrzną utworzoną w kroku 2. Federacyjna catalog jest typem obcego catalog, będąc zabezpieczanym obiektem w Unity Catalog, który dubluje bazę danych lub catalog w zewnętrznym systemie danych, umożliwiając wykonywanie zapytań dotyczących tych danych w obszarze roboczym usługi Azure Databricks z dostępem zarządzanym przez Unity Catalog. W takim przypadku odwzorowany catalog to twoje dane zarejestrowane w metastore Hive.
Za każdym razem, gdy użytkownik lub przepływ pracy współdziała z federacyjnym catalog, metadane są synchronizowane z magazynu metadanych Hive.
Wymagania
wymagania dotyczące uprawnień:
Aby utworzyć obiekt zagraniczny catalog:
- Uprawnienie
CREATE CATALOG
w metaskładnicy Catalog systemu Unity. - Własność połączenia lub uprawnienia
CREATE FOREIGN CATALOG
w połączeniu. - Aby wprowadzić autoryzowane ścieżki dla zewnętrznego catalog, musisz mieć uprawnienia
CREATE FOREIGN SECURABLE
w zewnętrznej lokalizacji obejmującej te ścieżki. Domyślnie właściciel lokalizacji zewnętrznej ma to uprawnienie.
Aby współpracować z zagranicznymi catalog:
- Własność catalog lub
USE CATALOG
wymagania dotyczące obliczeń:
- Aby utworzyć catalog przy użyciu eksploratora Catalog: nie jest wymagane przetwarzanie.
- Aby utworzyć catalog przy użyciu programu SQL: Databricks Runtime 13.3 LTS lub nowszego.
- Aby pracować z catalogjako udostępnionym klastrem w środowisku Databricks Runtime 13.3 LTS, 14.3 LTS, 15.1 lub nowszym.
Tworzenie catalog obcego
Aby utworzyć obce catalog, możesz skorzystać z Eksploratora Catalog lub polecenia SQL CREATE FOREIGN CATALOG
w notesie usługi Azure Databricks lub edytorze zapytań SQL.
Notatka
Możesz również użyć interfejsu API Catalog aparatu Unity. Zobacz Utwórz catalog w odniesieniu do API REST Databricks.
W obszarze roboczym usługi Azure Databricks kliknij ikonę Catalog, aby otworzyć eksploratora Catalog.
Na stronie Szybki dostęp kliknij przycisk Dodaj dane i selectdodaj catalog.
Wprowadź nazwę Catalog i select typ catalogzagraniczny.
Select z listy rozwijanej Connection utworzone w kroku 1.
W polu Autoryzowane ścieżki wprowadź ścieżki do lokalizacji przechowywania w chmurze zdefiniowanych jako lokalizacje zewnętrzne w kroku 2. Na przykład
abfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance
.Autoryzowane ścieżki to dodatkowa warstwa zabezpieczeń tylko dla systemów z federacją catalogs. Zobacz Co to są autoryzowane ścieżki?.
Kliknij Utwórz.
(Opcjonalnie) Kliknij przycisk Konfiguruj, aby otworzyć kreatora, który przeprowadzi Cię przez proces udzielania uprawnień do catalog i dodawania tagów. Te kroki można również wykonać później.
Zobacz Zarządzanie uprawnieniami w Unity Catalog i Stosowanie tagów do obiektów zabezpieczanych w Unity Catalog.
(Opcjonalnie) Przypisz catalog do określonych obszarów roboczych.
Domyślnie można uzyskać dostęp do catalogs z dowolnego obszaru roboczego dołączonego do metamagazynu Unity Catalog (ograniczonego przez uprawnienia użytkownika). Jeśli chcesz zezwolić na dostęp tylko z określonych obszarów roboczych, przejdź do karty obszarów roboczych
i przypisz obszary robocze. Zobacz dostęp do określonych obszarów roboczych Limitcatalog. Uzupełnij federacyjną catalog metadanymi z magazynu metadanych Hive.
Za każdym razem, gdy użytkownik lub przepływ pracy współdziała z federacyjnym catalog, metadane są synchronizowane z magazynu metadanych Hive. Pierwsza interakcja wypełnia catalog w środowisku Unity Catalog i sprawia, że jego zawartość jest widoczna w interfejsie użytkownika eksploratora Catalog. Możesz wypełnić catalog, wybierając i uruchamiając obsługiwany zasób obliczeniowy w Eksploratorze Catalog. Musisz być właścicielem catalog (co wynika z faktu utworzenia catalog) lub użytkownikiem z uprawnieniami
USE CATALOG
.Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL. Elementy w nawiasach są opcjonalne. Zastąp symbol zastępczy values:
-
<catalog-name>
: nazwa catalog w usłudze Azure Databricks. -
<connection-name>
: nazwa obiektu połączenia utworzonego w kroku 1. -
<path1>,<path2>
: Ścieżki do lokalizacji magazynu w chmurze, które zdefiniowałeś jako zewnętrzne w kroku 2. Na przykładabfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance
. Autoryzowane ścieżki to dodatkowa warstwa zabezpieczeń przeznaczona wyłącznie dla federacyjnych catalogs. Zobacz Co to są autoryzowane ścieżki?.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name> OPTIONS (authorized_paths '<path1>,<path2>');
Za każdym razem, gdy użytkownik lub przepływ pracy współdziała z federacyjnym catalog, metadane są synchronizowane z poziomu magazynu metadanych Hive.
-
Zobacz również Zarządzaj i pracuj z obcymi catalogs.