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 przeglądem federacji magazynu metadanych Hive, zobacz : włącz Unity Catalog, aby zarządzać tables zarejestrowanymi 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. Połącz Unity Catalog z magazynem metadanych Hive
W tym kroku utworzysz połączenie , zabezpieczalny obiekt Unity Catalog, który określa ścieżkę i credentials umożliwiające dostęp do systemu bazy danych, w tym przypadku starszego magazynu metadanych Hive obszaru roboczego usługi 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 połączeń Set wprowadź łatwą w użyciu 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żekwybierz ścieżki magazynu w chmurze, do których można uzyskać dostęp za pośrednictwem catalog. Tylko tables objęte 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 select, aby wszystkie obszary robocze miały dostęp, lub kliknij Przypisz do obszarów roboczych, wybierz select 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 przydziały uprawnień grant dla każdego użytkownika lub grupy. Wszyscy użytkownicy konta domyślnie otrzymują
BROWSE
.-
Select
Czytnik Danych z menu rozwijanego, aby przyznać grant
read
uprawnienia do obiektów w catalog. -
Select
Edytor danych z menu rozwijanego do grant
read
imodify
uprawnień do obiektów w catalog. - Ręcznie select uprawnienia do grant.
-
Select
Czytnik Danych 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 Zastosuj tagi do Unity Catalog zabezpieczanych obiektów.
(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.
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 magazyn metadanych Hive w usłudze Databricks, który przechowuje dane w zamontowanych systemach plików DBFS lub w głównym katalogu DBFS, utwórz lokalizację zewnętrzną przy użyciu Eksploratora Catalog i wybierz opcję Kopiuj z zamontowanego systemu plików 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ć poleceń Catalog Explorer lub 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ę jest kontrolowany przez uprawnienia Unity Catalog podczas uruchamiania zapytań na obliczeniach, które obsługują Unity Catalog(dla pojedynczego użytkownika, współdzielonych lub w przypadku SQL Warehouse). Może to przerwać istniejące obciążenia, które nie mają poprawnych uprawnień Unity Catalog do dostępu do ścieżki.
Gdy lokalizacja zewnętrzna jest w trybie rezerwowym, system najpierw sprawdza, czy aparat Unity podmiotu zabezpieczeń kwerendy Catalog uprawnienia do lokalizacji, a jeśli to nie powiedzie się, powróci do używania istniejącego klastra lub credentialso zakresie notesu, takich jak profile wystąpień lub właściwości konfiguracji platformy Apache Spark, aby istniejące obciążenia nadal działały nieprzerwanie.
Tryb zapasowy jest wygodny, gdy przeprowadzasz migrację przestarzałego obciążenia roboczego. Po zaktualizowaniu procesów roboczych do pomyślnego uruchamiania przy użyciu uprawnień Unity Catalog, należy wyłączyć tryb awaryjny, aby zapobiec używaniu starszych uprawnień o zasięgu klastra credentials do obejścia zarządzania danymi Unity Catalog.
Możesz włączyć tryb rezerwowy za pomocą Catalog Explorera lub interfejsu API REST Catalog lokalizacji zewnętrznych Unity.
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 zewnętrzna lokalizacja, 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żyjesz połączenia utworzonego w kroku 1, aby utworzyć federacyjną catalog w Unity Catalog wskazującą na lokalizację zewnętrzną utworzoną w kroku 2. Federacyjny catalog to typ obcego catalog, który jest zabezpieczanym obiektem w środowisku Unity Catalog, odzwierciedlającym bazę danych lub catalog w zewnętrznym systemie danych, co umożliwia wykonywanie zapytań do tych danych w obszarze roboczym usługi Azure Databricks, z dostępem zarządzanym przez Unity Catalog. W tym przypadku odzwierciedlony catalog to twoje dane zarejestrowane w magazynie 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.
Wymagania
wymagania dotyczące uprawnień:
Aby utworzyć obcy catalog:
- Uprawnienie
CREATE CATALOG
w magazynie metadanych Catalog Unity. - Własność połączenia lub uprawnienia
CREATE FOREIGN CATALOG
w połączeniu. - Aby wprowadzić autoryzowane ścieżki dla obcego catalog, musisz mieć uprawnienia
CREATE FOREIGN SECURABLE
w lokalizacji zewnętrznej, która obejmuje te ścieżki. Domyślnie właściciel lokalizacji zewnętrznej ma to uprawnienie.
Aby pracować z obcymi catalog:
- Posiadanie 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 klastrem udostępnionym catalogw środowisku Databricks Runtime 13.3 LTS, 14.3 LTS, 15.1 lub nowszym.
Stwórz zagraniczny catalog
Aby utworzyć obce catalog, możesz użyć eksploratora Catalog albo polecenia SQL CREATE FOREIGN CATALOG
w notesie Azure Databricks lub w edytorze zapytań SQL.
Notatka
Możesz również użyć API Catalog Unity. Zobacz Utwórz catalog w referencji Databricks REST API.
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.
Wybierz Connection, którą utworzyłeś w kroku 1, z listy rozwijanej Select.
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ń wyłącznie dla federacyjnych domen 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 Catalog w Unity.
(Opcjonalnie) Powiąż catalog z określonymi obszarami roboczymi.
Domyślnie dostęp do catalogs można uzyskać z dowolnego obszaru roboczego dołączonego do metasklepu Catalog Unity (ograniczone 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 Limitcatalog dostęp do określonych obszarów roboczych. Uzupełnij federowaną catalog metadanymi magazynu metadanych Hive.
Za każdym razem, gdy użytkownik lub przepływ pracy współdziała z federacyjnym catalog, metadane są synchronizowane z magazynem 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 przez zasób obliczeniowy w Eksploratorze Catalog. Musisz być właścicielem catalog (co osiągnąłeś, tworząc 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 dostępu to dodatkowa warstwa zabezpieczeń tylko dla federacji 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 magazynu metadanych Hive.
-
Zobacz również Zarządzaj i pracuj z zagranicznymi catalogs.