Udostępnij za pośrednictwem


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

  1. W obszarze roboczym usługi Azure Databricks kliknij ikonę CatalogCatalog.

  2. Na stronie Szybki dostęp kliknij pozycję Dodaj dane > Dodaj połączenie.

  3. Na stronie Podstawowe informacje o połączeniu kreatora Set połączenia wprowadź przyjazną dla użytkownika nazwę połączenia .

  4. Select typ połączenia magazynu metadanych Hive i typu magazynu metadanychwewnętrznego.

  5. (Opcjonalnie) Dodaj komentarz.

  6. Kliknij przycisk Dalej.

  7. (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.

  8. Kliknij pozycję Utwórz połączenie.

  9. Na stronie Catalog podstawowe wprowadź nazwę obcego catalog.

  10. 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?.

  11. (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.

  12. Kliknij Utwórz catalog.

  13. 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.

  14. 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.

  15. Grant uprawnienia w catalog. Kliknij Grant:

    1. 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.
    2. 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ć grantread uprawnienia do obiektów w catalog.
      • Select Edytor danych z menu rozwijanego do grantread oraz modify uprawnień do obiektów w catalog.
      • Ręcznie select uprawnienia do grant.
    3. Kliknij Grant.
  16. Kliknij przycisk Dalej.

  17. 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.

  18. (Opcjonalnie) Dodaj komentarz.

  19. 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:

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

  1. W obszarze roboczym usługi Azure Databricks kliknij ikonę CatalogCatalog.
  2. Na stronie szybki dostęp kliknij pozycję Dane zewnętrzne >.
  3. Select lokalizacji zewnętrznej, którą chcesz update.
  4. 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.

  1. W obszarze roboczym usługi Azure Databricks kliknij ikonę CatalogCatalog, aby otworzyć eksploratora Catalog.

  2. Na stronie Szybki dostęp kliknij przycisk Dodaj dane i selectdodaj catalog.

  3. Wprowadź nazwę Catalog i select typ catalogzagraniczny.

  4. Select z listy rozwijanej Connection utworzone w kroku 1.

  5. 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?.

  6. Kliknij Utwórz.

  7. (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.

  8. (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.

  9. 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ł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ń 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.