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 zintegrować istniejący magazyn metadanych usługi Azure Databricks Hive, aby organizacja mogła pracować z tabelami magazynu metadanych Hive przy użyciu Unity Catalog.
Aby zapoznać się z przeglądem federacji magazynu metadanych Hive, zobacz federację magazynu metadanych Hive: włącz Unity Catalog, by zarządzać tabelami 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 poświadczenia dostępu do systemu bazy danych, w tym przypadku starszego magazynu metadanych Hive w obszarze roboczym usługi Azure Databricks.
Wymagania
- Uprawnienie
CREATE CONNECTION
w Unity Catalog magazynie metadanych.
Tworzenie połączenia
Połączenie określa ścieżkę i poświadczenia dostępu do zewnętrznego systemu bazy danych. Aby utworzyć połączenie, możesz użyć Eksploratora wykazu 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. Sprawdź POST /api/2.1/unity-catalog/connections i polecenia Unity Catalog.
Wymagane uprawnienia: administrator magazynu metadanych lub użytkownik z uprawnieniami CREATE CONNECTION
.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij ikonę katalogu Catalog.
- Na stronie Szybki dostęp kliknij pozycję Dodaj dane > Dodaj połączenie.
- Wprowadź przyjazną dla użytkownika nazwę połączenia .
- Wybierz typ połączenia dla magazynu metadanych Hive oraz typ magazynu wewnętrznego .
- (Opcjonalnie) Dodaj komentarz.
- Kliknij Utwórz.
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 Unity Catalog, aby zarządzać dostępem do lokalizacji magazynu w chmurze, które przechowują dane zarejestrowane w starszym wewnętrznym metastore Hive.
lokalizacje zewnętrzne to zabezpieczane obiekty wykazu aparatu Unity, które kojarzą poświadczenia magazynu ze ścieżkami kontenerów magazynu w chmurze. Zobacz Lokalizacje zewnętrzne i poświadczenia magazynu.
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, który Databricks zaleca do tworzenia lokalizacji zewnętrznej w Unity Catalog, zależy od sytuacji.
- Jeśli federujesz wewnętrzny magazyn metadanych Usługi Hive usługi Databricks, który przechowuje dane w instalacji systemu plików DBFS lub głównego systemu plików DBFS, utwórz lokalizację zewnętrzną przy użyciu Eksploratora wykazu i użyj opcji Kopiuj z systemu plików DBFS instalacji. Postępuj zgodnie z instrukcjami w Ręczne tworzenie lokalizacji zewnętrznej, używając Eksploratora katalogu, lub Tworzenie lokalizacji zewnętrznej dla danych w, w głównym systemie plików DBFS.
- W przeciwnym razie możesz użyć Eksploratora wykazu lub poleceń SQL. Postępuj zgodnie z instrukcjami w Ręczne tworzenie lokalizacji zewnętrznej przy użyciu eksploratora wykazu 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 katalogu aparatu Unity, dostęp do ścieżki reprezentowanej przez tę lokalizację zewnętrzną jest wymuszany przez uprawnienia wykazu aparatu Unity podczas uruchamiania zapytań dotyczących zasobów obliczeniowych z obsługą wykazu aparatu Unity (pojedynczego użytkownika, udostępnionego lubusługi SQL Warehouse). Może to zakłócić istniejące obciążenia, które nie mają właściwych uprawnień Unity Catalog, aby uzyskać dostęp do ścieżki.
Gdy lokalizacja zewnętrzna jest w trybie rezerwowym, system najpierw sprawdza uprawnienia Katalogu Unity dla podmiotu wykonującego zapytanie w danej lokalizacji, a jeśli to się nie powiedzie, używa istniejących poświadczeń o zakresach powiązanych z klastrem lub notesem, takich jak profile instancji lub właściwości konfiguracji Apache Spark, aby istniejące obciążenia mogły działać nieprzerwanie.
Tryb zapasowy jest wygodny, gdy przeprowadzasz migrację przestarzałego obciążenia roboczego. Po zaktualizowaniu obciążeń do pomyślnego uruchomienia przy użyciu uprawnień Unity Catalog należy wyłączyć tryb rezerwowy, aby uniemożliwić użycie starych poświadczeń na poziomie klastra w celu obejścia zarządzania danymi Unity Catalog.
Możesz włączyć tryb awaryjny, korzystając z Eksploratora Katalogu lub interfejsu API lokalizacji zewnętrznych Katalogu Unity.
Uprawnienia wymagane: właściciel lokalizacji zewnętrznej.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij ikonę Catalog .
- Na stronie szybki dostęp kliknij pozycję Dane zewnętrzne >.
- Wybierz lokalizację zewnętrzną, którą chcesz zaktualizować.
- 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 aktualizowania 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. Tworzenie wykazu federacyjnego
W tym kroku użyjesz połączenia utworzonego w kroku 1, aby utworzyć federacyjny katalog w Unity Catalog, który wskazuje na lokalizację zewnętrzną utworzoną w kroku 2. Federacyjny katalog to typ obcego katalogu, będącego zabezpieczanym obiektem w Unity Catalog, który odzwierciedla bazę danych lub katalog w zewnętrznym systemie danych, umożliwiając wykonywanie zapytań na tych danych w obszarze roboczym Azure Databricks, z dostępem zarządzanym przez Unity Catalog. W takim przypadku katalog lustrzany to twoje dane przechowywane w magazynie metadanych Hive.
Za każdym razem, gdy użytkownik lub przepływ pracy współdziała z wykazem federacyjnym, metadane są synchronizowane z magazynu metadanych Hive.
Wymagania
wymagania dotyczące uprawnień:
Aby utworzyć katalog zagraniczny:
- Uprawnienia
CREATE CATALOG
w magazynie danych katalogu Unity. - Własność połączenia lub uprawnienia
CREATE FOREIGN CATALOG
w połączeniu. - Aby wprowadzić autoryzowane ścieżki dla wykazu obcego, 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 katalogiem zagranicznym:
- Własność katalogu lub
USE CATALOG
wymagania dotyczące obliczeń:
- Aby utworzyć wykaz przy użyciu Eksploratora wykazu: nie jest wymagane przetwarzanie.
- Aby utworzyć wykaz przy użyciu programu SQL: Databricks Runtime 13.3 LTS lub nowszego.
- Aby pracować z katalogiem: współdzielony klaster na platformie Databricks Runtime 13.3 LTS, 14.3 LTS, 15.1 lub nowszej.
Utwórz katalog obcy
Aby utworzyć wykaz obcy, możesz użyć Eksploratora wykazu lub polecenia CREATE FOREIGN CATALOG
SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL.
Notatka
Możesz również użyć interfejsu API katalogu Unity. Zobacz Tworzenie katalogu w dokumentacji interfejsu API REST usługi Databricks.
W obszarze roboczym Azure Databricks kliknij ikonę katalogu katalogu, aby otworzyć Eksploratora katalogu.
Na stronie Szybki dostęp kliknij przycisk Dodaj dane i wybierz Dodaj katalog.
Wprowadź nazwę katalogu i wybierz typ katalogu zagranicznego .
Z listy rozwijanej wybierz Połączenie 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 katalogów federacyjnych. Zobacz Co to są autoryzowane ścieżki?.
Kliknij pozycję Utwórz.
(Opcjonalnie) Kliknij Konfiguruj, aby otworzyć przewodnik, który poprowadzi Cię przez nadawanie uprawnień do katalogu i dodawanie tagów. Te kroki można również wykonać później.
Zobacz Zarządzanie uprawnieniami w katalogu Unity i Zastosuj tagi do zabezpieczanych obiektów katalogu Unity.
(Opcjonalnie) Powiąż katalog z określonymi obszarami roboczymi.
Domyślnie dostęp do katalogów można uzyskać z dowolnego obszaru roboczego przypisanego do magazynu metadanych Unity Catalog (zależne od uprawnień 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 Ograniczanie dostępu katalogu do określonych obszarów roboczych. Wypełnij wykaz federacyjny metadanymi magazynu metadanych Hive.
Za każdym razem, gdy użytkownik lub przepływ pracy współdziała z wykazem federacyjnym, metadane są synchronizowane z magazynu metadanych Hive. Pierwsza interakcja wypełnia katalog w Unity Catalog i sprawia, że jego zawartość jest widoczna w interfejsie Eksploratora katalogu. Wykaz można wypełnić, wybierając i uruchamiając obsługiwanych zasobów obliczeniowych w Eksploratorze wykazu. Musisz być właścicielem katalogu (czym stajesz się poprzez utworzenie katalogu) 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 wartości symboli zastępczych:
-
<catalog-name>
: nazwa wykazu 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ń tylko dla katalogów federacyjnych. 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 wykazem federacyjnym, metadane są synchronizowane z magazynu metadanych Hive.
-
Zobacz również Zarządzanie katalogami obcymi i praca z nimi.