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

  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 połączeń Set wprowadź łatwą w użyciu 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ż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?.

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

  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 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ć grantread uprawnienia do obiektów w catalog.
      • Select Edytor danych z menu rozwijanego do grantread i 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 Zastosuj tagi do Unity Catalog zabezpieczanych obiektów.

  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 zabezpieczane aparatu Unity, które kojarzą magazynu ze ścieżkami kontenera magazynu 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ę 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

  1. W obszarze roboczym usługi Azure Databricks kliknij ikonę CatalogCatalog.
  2. Na stronie szybki dostęp kliknij pozycję Dane zewnętrzne >.
  3. Select zewnętrzna lokalizacja, 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ż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.

  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. Wybierz Connection, którą utworzyłeś w kroku 1, z listy rozwijanej Select.

  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ń wyłącznie dla federacyjnych domen 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 Catalog w Unity.

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

  9. 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ład abfss://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.