Udostępnij za pośrednictwem


Włącz federację magazynu metadanych Hive dla zewnętrznego magazynu metadanych Hive

Ważny

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

W tym artykule pokazano, jak sfederować zewnętrzne repozytorium metadanych Hive, aby organizacja mogła pracować ze swoim repozytorium metadanych Hive tables przy użyciu Aparatu 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. Połącz Unity Catalog z zewnętrznym magazynem metadanych Hive.

W tym kroku utworzysz połączenie , zabezpieczany obiekt Unity Catalog, który określa ścieżkę i credentials do systemu baz danych, w tym przypadku magazynu metadanych Hive.

Wymagania

Musisz mieć następujące elementy:

  • Nazwa użytkownika i hasło, które udziela dostępu do systemu bazy danych, który hostuje magazyn metadanych Hive.
  • Adres URL bazy danych (host i port).
  • Nazwa bazy danych.
  • Uprawnienie CREATE CONNECTION w magazynie metadanych Catalog Unity. Administratorzy magazynu metadanych mają domyślnie te uprawnienia.

Tworzenie połączenia

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.

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 oraz typ zewnętrznego magazynu metadanych .
  5. (Opcjonalnie) Dodaj komentarz.
  6. Kliknij przycisk Dalej.
  7. Na stronie Authentication wprowadź następujące informacje dla bazy danych hosta:
    • host: na przykład mysql-demo.lb123.us-west-2.rds.amazonaws.com
    • port: na przykład 3306
    • użytkownik: na przykład mysql_user
    • hasło: na przykład password123
  8. Kliknij przycisk Dalej.
  9. Na stronie Szczegóły połączenia wprowadź następujące informacje dla bazy danych hosta:
    • Wersja: Obsługiwane wersje magazynu metadanych Hive to między innymi wersje 0.13 i 2.3.
    • Database: nazwa bazy danych, z którą nawiązujesz połączenie.
    • Typ bazy danych: na przykład MySQL.
  10. Kliknij Utwórz połączenie.
  11. Na stronie Catalog podstawowe wprowadź nazwę obcego catalog.
  12. W przypadku autoryzowanych ścieżekwybierz ścieżki do przechowywania w chmurze, do których można uzyskać dostęp poprzez catalog. Zapytania można wykonywać tylko o tables mieszczące się w tych ścieżkach 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?.
  13. (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 ta istnieje.
  14. Kliknij Utwórz catalog.
  15. Na stronie Accessselect znajdują się obszary robocze, do których użytkownicy mogą uzyskiwać dostęp do stworzonego catalog. Możesz selectzapewnić dostęp do wszystkich obszarów roboczychlub kliknąć Przypisz do obszarów roboczych, wybrać obszary robocze select, a następnie kliknąć Przypisz.
  16. 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.
  17. Grant uprawnienia w catalog. Kliknij pozycję 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 mają przyznane BROWSE domyślnie.
      • Select czytnik danych z menu rozwijanego, aby 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 przydziel select uprawnienia do grant.
    3. Kliknij pozycję Grant.
  18. Kliknij przycisk Dalej.
  19. Na stronie Metadane określ pary klucz-wartość tagów. Aby uzyskać więcej informacji, zobacz Zastosuj tagi do Unity Catalog zabezpieczanych obiektów.
  20. (Opcjonalnie) Dodaj komentarz.
  21. Kliknij Zapisz.

SQL

Uruchom następujące polecenie w notesie lub edytorze zapytań SQL usługi Databricks.

CREATE CONNECTION <connection-name> TYPE hive_metastore
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>',
  database '<database-name>',
  db_type 'MYSQL',
  version '2.3',
);

Uwzględnij warehouse_directory tylko wtedy, gdy nie chcesz używać domyślnej lokalizacji katalogu magazynu Hive dla magazynu metadanych Hive.

Zalecamy używanie tajnych danych Azure Databricks zamiast ciągów w postaci zwykłego tekstu w przypadku danych poufnych values, takich jak credentials. Na przykład:

CREATE CONNECTION <connection-name> TYPE hive_metastore
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>'),
  database '<database-name>',
  db_type 'MYSQL',
  version '2.3'
)

Jeśli musisz używać ciągów w postaci zwykłego tekstu w poleceniach SQL notesu, unikaj obcinania ciągu przez ucieczkę znaków specjalnych, takich jak $ z \. Na przykład: \$.

Aby uzyskać informacje dotyczące konfigurowania tajemnic, zobacz Zarządzanie tajemnicami.

Krok 2. Tworzenie lokalizacji zewnętrznych dla danych w 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 zewnę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.

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 tworzysz lokalizację zewnętrzną w środowisku Unity Catalog, dostęp do ścieżki reprezentowanej przez tę lokalizację jest wymuszany przez uprawnienia Unity Catalog podczas uruchamiania zapytań na włączonych zasobach obliczeniowych Unity Catalog(dla pojedynczego użytkownika, współdzielonych lub magazynu SQL). Może to zakłócać istniejące procesy, które nie mają poprawnych uprawnień Unity Catalog do uzyskania dostępu do ścieżki.

Gdy lokalizacja zewnętrzna jest w trybie rezerwowym, system najpierw sprawdza uprawnienia podmiotu kwerendy do lokalizacji w Unity Catalog, a jeśli to się nie powiedzie, korzysta z istniejących konfiguracji ograniczonych do klastra lub notatnika credentials, takich jak profile instancji lub właściwości konfiguracji platformy Apache Spark, aby istniejące obciążenia mogły działać nieprzerwanie.

Tryb rezerwowy jest wygodny, gdy przeprowadzasz migrację starszych zadań. Po zaktualizowaniu obciążeń do 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 danych Unity Catalog.

Tryb rezerwowy można włączyć za pomocą Eksploratora Catalog lub zewnętrznego API REST 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 Dane zewnętrzne >.
  3. Select lokalizacji zewnętrznej, którą chcesz update.
  4. Włącz tryb rezerwowy, przesuwając przełącznik , a następnie 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. Tworzenie catalog federacyjnej

W tym kroku użyjesz połączenia utworzonego w kroku 1, aby utworzyć federacyjną catalog w środowisku Unity Catalog, która wskazuje na lokalizację zewnętrzną utworzoną w kroku 2. Federacyjna catalog jest typem zewnętrznego catalog, który jest obiektem zabezpieczanym w środowisku Unity Catalog, odzwierciedlającym bazę danych lub catalog w zewnętrznym systemie danych, umożliwiającym wykonywanie zapytań dotyczących tych danych w obszarze roboczym usługi Azure Databricks z dostępem zarządzanym przez Unity Catalog. W tym przypadku zamirrorowany 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 dotyczące

wymagania dotyczące uprawnień:

Aby utworzyć zagraniczne catalog:

  • Uprawnienie CREATE CATALOG w repozytorium metadanych Unity Catalog.
  • Własność połączenia lub uprawnienia CREATE FOREIGN CATALOG na połączeniu.
  • Aby wprowadzić autoryzowane ścieżki dla zewnętrznego catalog, musisz mieć uprawnienia CREATE FOREIGN SECURABLE na lokalizacji zewnętrznej, która obejmuje te ścieżki. Domyślnie właściciel lokalizacji zewnętrznej ma to uprawnienie.

Aby pracować z obcokrajowcami 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 catalog: udostępniony klaster w środowisku Databricks Runtime 13.3 LTS, 14.3 LTS, 15.1 lub nowszym.

Utwórz obcego catalog

Aby utworzyć obce catalog, możesz użyć eksploratora Catalog 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 Unity Catalog. Zobacz Tworzenie catalog w dokumentacji interfejsu API REST usługi 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 catalog rodzaju zagraniczny.

  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 federacyjnych catalogs. Zobacz Co to są autoryzowane ścieżki?.

  6. Kliknij Utwórz.

  7. (Opcjonalnie) Kliknij przycisk Konfiguruj, aby otworzyć kreator konfiguracji, który poprowadzi Cię przez proces pozwalania na dostęp do catalog i dodawania tagów. Te kroki można również wykonać później.

    Zobacz Zarządzanie uprawnieniami w Unity Catalog oraz Stosowanie tagów do obiektów zabezpieczanych Unity Catalog.

  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 magazynu metadanych Unity Catalog, z zastrzeżeniem 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 Limitcatalog dostęp do określonych obszarów roboczych.

  9. Wypełnij zintegrowaną bazę danych catalog metadanymi Hive z metastore.

    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ługiwane zasoby obliczeniowe w Eksploratorze Catalog. Musisz być właścicielem catalog (co wynika z faktu, że stworzyłeś catalog) lub użytkownikiem z uprawnieniem USE CATALOG.

    Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL. Elementy umieszczone w nawiasach kwadratowych 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 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 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 magazynu metadanych Hive.

Zobacz również Zarządzanie obcymi catalogsi praca z nimi.