Sdílet prostřednictvím


Povolte federaci metastoru Hive pro metastore Hive v zastaralém pracovním prostoru

Důležitý

Tato funkce je ve verzi Public Preview.

Tento článek ukazuje, jak integrovat váš starší Azure Databricks Hive metastore, aby vaše organizace mohla pracovat s tabulkami Hive metastore prostřednictvím Unity Catalog.

Přehled o federaci metastoru Hive najdete v tématu Federace metastoru Hive: umožněte katalogu Unity řídit tabulky registrované v metastoru Hive.

Než začnete

Projděte si seznam služeb a funkcí podporovaných federací metastoru Hive: Požadavky, podporované funkce a omezení.

Konkrétní požadavky jsou uvedeny pro jednotlivé kroky níže.

Krok 1: Připojení katalogu Unity k metastoru Hive

V tomto kroku vytvoříte připojení, což je objekt katalogu Unity zabezpečující přístup, který určuje cestu a přihlašovací údaje pro přístup k databázovému systému, v tomto případě ke staršímu Hive metastore vašeho pracovního prostoru Azure Databricks.

Požadavky

  • Oprávnění CREATE CONNECTION v metastore katalogu Unity Catalog.

Vytvoření připojení

Připojení určuje cestu a přihlašovací údaje pro přístup k externímu databázovému systému. K vytvoření připojení můžete použít Průzkumníka katalogu nebo příkaz CREATE CONNECTION SQL v poznámkovém bloku Azure Databricks nebo editoru dotazů SQL Databricks.

Poznámka

K vytvoření připojení můžete použít také rozhraní REST API Databricks nebo rozhraní příkazového řádku Databricks. Viz POST /api/2.1/unity-catalog/connections a příkazy pro Unity Catalog .

Požadovaná oprávnění : správce metastoru nebo uživatele s oprávněním CREATE CONNECTION.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na ikonu Katalog .
  2. Na stránce Rychlý přístup klikněte na Přidat data > Přidat připojení.
  3. Zadejte uživatelsky přívětivý název připojení.
  4. Vyberte typ připojeníHive Metastore a typ MetastoreInterní.
  5. (Volitelné) Přidejte komentář.
  6. Klikněte na Vytvořit.

SQL

V poznámkovém bloku nebo editoru dotazů SQL Databricks spusťte následující příkaz.

CREATE CONNECTION IF NOT EXISTS <connection-name> TYPE hive_metastore
  OPTIONS (builtin true);

Krok 2: Vytvoření externích umístění pro data v interním starším metastoru Hive

V tomto kroku nakonfigurujete externí umístění v katalogu Unity tak, aby bylo možné řídit přístup k umístěním cloudového úložiště, která obsahují data zaregistrovaná ve starších interních metastorech Hive.

externích umístění jsou zabezpečitelné objekty katalogu Unity, které přidružují přihlašovací údaje úložiště cestám ke kontejneru cloudového úložiště. Podívejte se na externí umístění a přihlašovací údaje k úložišti.

Požadavky

Informace o požadavcích na cloudové úložiště a oprávnění Azure Databricks najdete v tématu "Než začnete" v Vytvoření externího umístění pro připojení cloudového úložiště ke službě Azure Databricks.

Pokud vytváříte externí umístění pro kořen DBFS vašeho pracovního prostoru, přečtěte si nejprve část "Než začnete" v sekci Vytvoření externího umístění pro data v kořeni DBFS.

Možnosti pro vytvoření externího umístění

Proces, který Databricks doporučuje pro vytvoření externího umístění v katalogu Unity, závisí na vaší situaci:

Povolit záložní režim na externích umístěních

Jakmile vytvoříte externí umístění v katalogu Unity, přístup k cestě reprezentované tímto umístěním bude zajištěn prostřednictvím oprávnění katalogu Unity při spuštění dotazů na výpočetních prostředcích s podporou katalogu Unity (ať už se jedná o jednoho uživatele, sdílené prostředky nebo SQL Warehouse). To může přerušit stávající úlohy, které nemají správná oprávnění katalogu Unity pro přístup k cestě.

Pokud je externí umístění v záložním režimu, systém nejprve zkontroluje oprávnění katalogu Unity objektu dotazu na dané umístění a pokud se to nepodaří, vrátí se zpět k použití existujících přihlašovacích údajů s oborem clusteru nebo poznámkového bloku, jako jsou profily instancí nebo vlastnosti konfigurace Apache Sparku, aby vaše stávající úlohy nadále běžely bez přerušení.

Záložní režim je vhodný, když právě přenášíte svou starší pracovní zátěž. Po aktualizaci úloh na úspěšné spuštění s oprávněními Katalogu Unity byste měli zakázat záložní režim, abyste zabránili použití starších přihlašovacích údajů v rámci clusteru k obejití správy dat Katalogu Unity.

Záložní režim můžete povolit pomocí Průzkumníka katalogu nebo rozhraní REST API pro externí umístění katalogu Unity.

Oprávnění požadovaná: Vlastník externího umístění.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na ikonu katalogu Katalog.
  2. Na stránce Rychlý přístup klikněte na Externí data >.
  3. Vyberte externí umístění, které chcete aktualizovat.
  4. Zapněte přepínač záložního režimu a kliknutím na Zapnout to potvrďte.

API

Následující příklady curl ukazují, jak povolit záložní režim při vytváření externího umístění a při aktualizaci existujícího externího umístění.

Vytvoření nového externího umístění:

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

Aktualizace externího umístění:

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: Vytvoření federovaného katalogu

V tomto kroku použijete připojení, které jste vytvořili v kroku 1, k vytvoření federovaného katalogu v katalogu Unity, který odkazuje na externí umístění, které jste vytvořili v kroku 2. Federovaný katalog je typ cizího katalogu, což je zabezpečitelný objekt v katalogu Unity, který zrcadlí databázi nebo katalog v externím datovém systému a umožňuje provádět dotazy na tato data v pracovním prostoru Azure Databricks s přístupem spravovaným katalogem Unity. V tomto případě je zrcadlený katalog vaše data zaregistrovaná v metastorech Hive.

Kdykoli uživatel nebo pracovní postup pracuje s federovaným katalogem, metadata se synchronizují z metastoru Hive.

Požadavky

požadavky na oprávnění:

Vytvoření cizího katalogu:

  • Oprávnění CREATE CATALOG pro metastore katalogu Unity.
  • Buď vlastnictví připojení, nebo oprávnění CREATE FOREIGN CATALOG na připojení.
  • Chcete-li zadat autorizované cesty pro externí katalog, musíte mít oprávnění CREATE FOREIGN SECURABLE na externím umístění, které tyto cesty zahrnuje. Vlastník externího umístění má ve výchozím nastavení toto oprávnění.

Práce se zahraničním katalogem:

  • Vlastnictví katalogu nebo USE CATALOG

Požadavky na výpočetní výkon:

  • Vytvoření katalogu pomocí Průzkumníka katalogu: nevyžaduje se žádné výpočty.
  • Vytvoření katalogu pomocí SQL: Databricks Runtime 13.3 LTS nebo vyšší
  • Práce s katalogem: sdílený cluster ve službě Databricks Runtime 13.3 LTS, 14.3 LTS, 15.1 nebo novější.

Vytvoření zahraničního katalogu

K vytvoření cizího katalogu můžete použít Průzkumníka katalogu nebo příkaz CREATE FOREIGN CATALOG SQL v poznámkovém bloku Azure Databricks nebo v editoru dotazů SQL.

Poznámka

Můžete také použít rozhraní API katalogu Unity. Viz Vytvořit katalog v referenční příručce Databricks REST API.

  1. V pracovním prostoru Azure Databricks kliknutím na ikonu katalogu Katalog otevřete Průzkumníka katalogu.

  2. Na stránce Rychlý přístup klikněte na Přidat data tlačítko a vyberte Přidat katalog .

  3. Zadejte název katalogu a vyberte katalog Typcizích.

  4. V rozevíracím seznamu vyberte Připojení, které jste vytvořili v kroku 1.

  5. Do pole Autorizované cesty zadejte cesty k umístěním cloudového úložiště, která jste definovali jako externí umístění v kroku 2. Například abfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance.

    Autorizované cesty jsou přidanou vrstvou zabezpečení pouze pro federované katalogy. Viz Co jsou autorizované cesty?.

  6. Klikněte na Vytvořit.

  7. (Volitelné) Kliknutím na Konfigurovat otevřete průvodce, který vás provede udělením oprávnění v katalogu a přidáním značek. Tyto kroky můžete provést i později.

    Viz Správa oprávnění v katalogu Unity a Aplikovat tagy na zabezpečitelné objekty katalogu Unity.

  8. (Volitelné) Vytvořte vazbu katalogu na konkrétní pracovní prostory.

    Ve výchozím nastavení je možné katalogy přistupovat z libovolného pracovního prostoru připojeného k metastoru katalogu Unity (omezeno uživatelskými oprávněními). Pokud chcete povolit přístup jenom z konkrétních pracovních prostorů, přejděte na kartu Pracovní prostory a přiřaďte pracovní prostory. Viz Omezení přístupu katalogu ke konkrétním pracovním prostorům.

  9. Naplňte federovaný katalog metadaty metastoru Hive.

    Kdykoli uživatel nebo pracovní postup pracuje s federovaným katalogem, metadata se synchronizují z metastoru Hive. První interakce naplní katalog v katalogu Unity a zviditelní jeho obsah v uživatelském rozhraní Průzkumníka katalogu. Katalog můžete naplnit výběrem a spuštěním podporovaného výpočetního prostředku v Průzkumníku katalogu. Musíte být vlastníkem katalogu (který jste na základě vytváření katalogu) nebo uživatele s oprávněním USE CATALOG.

    V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL. Položky v závorkách jsou volitelné. Nahraďte zástupné hodnoty:

    • <catalog-name>: Název katalogu v Azure Databricks.
    • <connection-name>: Název objektu připojení, který jste vytvořili v kroku 1.
    • <path1>,<path2>: Cesty k umístěním cloudového úložiště, která jste definovali jako externí umístění v kroku 2. Například abfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance. Autorizované cesty jsou přidanou vrstvou zabezpečení pouze pro federované katalogy. Viz Co jsou autorizované cesty?.
    CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
    OPTIONS (authorized_paths '<path1>,<path2>');
    

    Kdykoli uživatel nebo pracovní postup pracuje s federovaným katalogem, metadata se synchronizují z metastoru Hive.

Viz také Správa a práce s cizími katalogy.