Vytváření a správa katalogů

Tento článek ukazuje, jak vytvářet a spravovat katalogy v katalogu Unity. Katalog obsahuje schémata (databáze) a schéma obsahuje tabulky, zobrazení, svazky, modely a funkce.

Poznámka:

V pracovních prostorech, které byly pro katalog Unity povoleny automaticky, se ve výchozím nastavení vytvořil katalog pracovních prostorů. Všichni uživatelé ve vašem pracovním prostoru (a jenom k vašemu pracovnímu prostoru) mají ve výchozím nastavení přístup. Viz krok 1: Ověřte, že je pro katalog Unity povolený váš pracovní prostor.

Poznámka:

Informace o tom, jak vytvořit cizí katalog, objekt Katalogu Unity, který zrcadlí databázi v externím datovém systému, najdete v tématu Vytvoření cizího katalogu. Viz také Správa a práce se zahraničními katalogy.

Požadavky

Vytvoření katalogu:

  • Musíte být správcem metastoru Azure Databricks nebo mít CREATE CATALOG oprávnění k metastoru.

  • Metastor katalogu Unity musíte mít propojený s pracovním prostorem , ve kterém provádíte vytváření katalogu.

  • Cluster, který používáte ke spuštění poznámkového bloku pro vytvoření katalogu, musí používat režim přístupu kompatibilní s katalogem Unity. Viz režimy Accessu.

    Sql Warehouse vždy podporují katalog Unity.

Vytvoření katalogu

K vytvoření katalogu můžete použít Průzkumníka katalogu nebo příkaz SQL.

Průzkumník katalogu

  1. Přihlaste se k pracovnímu prostoru, který je propojený s metastorem.

  2. Klikněte na Ikona kataloguKatalog.

  3. Klikněte na tlačítko Vytvořit katalog .

  4. Vyberte typ katalogu, který chcete vytvořit:

    • Standardní katalog: zabezpečitelný objekt, který organizuje datové prostředky spravované katalogem Unity. Pro všechny případy použití s výjimkou Lakehouse Federation.
    • Cizí katalog: zabezpečitelný objekt v katalogu Unity, který zrcadlí databázi v externím datovém systému pomocí Lakehouse Federation. Podívejte se na přehled nastavení Lakehouse Federation.
  5. (Volitelné, ale důrazně doporučeno) Zadejte spravované umístění úložiště. CREATE MANAGED STORAGE Vyžaduje oprávnění pro cílové externí umístění. Viz Určení spravovaného umístění úložiště v katalogu Unity.

    Důležité

    Pokud váš pracovní prostor nemá umístění úložiště na úrovni metastoru, musíte při vytváření katalogu zadat spravované umístění úložiště.

  6. Klikněte na Vytvořit.

  7. (Volitelné) Zadejte pracovní prostor, ke kterému je katalog vázán.

    Ve výchozím nastavení se katalog sdílí se všemi pracovními prostory připojenými k aktuálnímu metastoru. Pokud katalog bude obsahovat data, která by měla být omezena na konkrétní pracovní prostory, přejděte na kartu Pracovní prostory a přidejte tyto pracovní prostory.

    Další informace najdete v tématu (Volitelné) Přiřazení katalogu ke konkrétním pracovním prostorům.

  8. Přiřaďte oprávnění ke svému katalogu. Viz oprávnění katalogu Unity a zabezpečitelné objekty.

Sql

  1. V poznámkovém bloku nebo editoru SQL Databricks 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.

    • <location-path>: Volitelné, ale důrazně doporučujeme. Pokud chcete, aby spravované tabulky v tomto katalogu byly uloženy v umístění, které se liší od výchozího kořenového úložiště nakonfigurovaného pro metastore, zadejte cestu k umístění úložiště.

      Důležité

      Pokud váš pracovní prostor nemá umístění úložiště na úrovni metastoru, musíte při vytváření katalogu zadat spravované umístění úložiště.

      Tato cesta musí být definována v konfiguraci externího umístění a musíte mít CREATE MANAGED STORAGE oprávnění ke konfiguraci externího umístění. Můžete použít cestu definovanou v konfiguraci externího umístění nebo dílčí cestu (jinými slovy, 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' nebo 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance/product'). Vyžaduje Databricks Runtime 11.3 a vyšší.

    • <comment>: Volitelný popis nebo jiný komentář.

    Poznámka:

    Pokud vytváříte cizí katalog (zabezpečitelný objekt v katalogu Unity, který zrcadlí databázi v externím datovém systému, který se používá pro Lakehouse Federation), příkaz SQL je CREATE FOREIGN CATALOG a možnosti se liší. Viz Vytvoření cizího katalogu.

    CREATE CATALOG [ IF NOT EXISTS ] <catalog-name>
       [ MANAGED LOCATION '<location-path>' ]
       [ COMMENT <comment> ];
    

    Chcete-li například vytvořit katalog s názvem example:

    CREATE CATALOG IF NOT EXISTS example;
    

    Pokud chcete omezit přístup ke katalogu na konkrétní pracovní prostory ve vašem účtu, označované také jako vazby katalogu pracovních prostorů, přečtěte si téma Vytvoření vazby katalogu k jednomu nebo více pracovním prostorům.

    Popisy parametrů najdete v tématu CREATE CATALOG.

  2. Přiřaďte k katalogu oprávnění. Viz oprávnění katalogu Unity a zabezpečitelné objekty.

Při vytváření katalogu se automaticky vytvoří dvě schémata (databáze): default a information_schema.

Katalog můžete vytvořit také pomocí zprostředkovatele Databricks Terraform a databricks_catalog. Informace o katalogech můžete načíst pomocí databricks_catalogs.

(Volitelné) Přiřazení katalogu ke konkrétním pracovním prostorům

Pokud k izolaci přístupu k uživatelským datům používáte pracovní prostory, můžete chtít omezit přístup katalogu na konkrétní pracovní prostory ve vašem účtu, označované také jako vazby katalogu pracovních prostorů. Výchozí hodnotou je sdílení katalogu se všemi pracovními prostory připojenými k aktuálnímu metastoru.

Přístup ke čtení a zápisu do katalogu můžete povolit z pracovního prostoru (výchozí) nebo můžete zadat přístup jen pro čtení. Pokud zadáte jen pro čtení, budou všechny operace zápisu z daného pracovního prostoru do daného katalogu blokovány.

Mezi obvyklé případy použití pro vazbu katalogu s konkrétními pracovními prostory patří:

  • Zajištění přístupu uživatelů pouze k produkčním datům z produkčního prostředí pracovního prostoru.
  • Zajištění, aby uživatelé mohli zpracovávat citlivá data pouze z vyhrazeného pracovního prostoru.
  • Poskytnutí přístupu uživatelům jen pro čtení k produkčním datům z vývojářského pracovního prostoru za účelem povolení vývoje a testování

Příklad vazby katalogu pracovních prostorů

Podívejte se na příklad izolace výroby a vývoje. Pokud určíte, že k produkčním datovým katalogům je možné přistupovat pouze z produkčních pracovních prostorů, nahradí se tím všechna jednotlivá udělení, která jsou vydána uživatelům.

Diagram vazby pracovního prostoru katalogu

V tomto diagramu prod_catalog je svázán se dvěma produkčními pracovními prostory. Předpokládejme, že uživateli byl udělen přístup k tabulce volané prod_catalogmy_table (pomocí GRANT SELECT ON my_table TO <user>). Pokud se uživatel pokusí získat přístup k my_table pracovnímu prostoru dev, zobrazí se mu chybová zpráva. Uživatel má přístup my_table pouze z pracovních prostorů Prod ETL a Prod Analytics.

Vazby katalogu pracovních prostorů se respektují ve všech oblastech platformy. Pokud například dotazujete schéma informací, zobrazí se v pracovním prostoru, kde dotaz vydáváte, pouze katalogy přístupné. Uživatelská rozhraní pro rodokmen dat a vyhledávání zobrazují také pouze katalogy, které jsou přiřazené k pracovnímu prostoru (bez ohledu na to, jestli používají vazby nebo ve výchozím nastavení).

Vytvoření vazby katalogu k jednomu nebo více pracovním prostorům

Pokud chcete katalog přiřadit ke konkrétním pracovním prostorům, můžete použít Průzkumníka katalogu nebo rozhraní REST API katalogu Unity.

Požadovaná oprávnění: Správce metastoru nebo vlastník katalogu.

Poznámka:

Správci metastoru můžou zobrazit všechny katalogy v metastoru pomocí Průzkumníka katalogu a vlastníci katalogu uvidí všechny katalogy, které vlastní v metastoru, bez ohledu na to, jestli je katalog přiřazen k aktuálnímu pracovnímu prostoru. Katalogy, které nejsou přiřazené k pracovnímu prostoru, se zobrazují šedě a podřízené objekty nejsou viditelné ani dotazovatelné.

Průzkumník katalogu

  1. Přihlaste se k pracovnímu prostoru, který je propojený s metastorem.

  2. Klikněte na Ikona kataloguKatalog.

  3. V podokně Katalog klikněte na levé straně na název katalogu.

    Hlavní podokno Průzkumníka katalogu je ve výchozím nastavení seznamu Katalogy . Můžete tam také vybrat katalog.

  4. Na kartě Pracovní prostory zrušte zaškrtnutí políčka Všechny pracovní prostory mají přístup.

    Pokud je katalog již vázán na jeden nebo více pracovních prostorů, je toto políčko již nezaškrtnuto.

  5. Klikněte na Přiřadit k pracovním prostorům a zadejte nebo vyhledejte pracovní prostory, které chcete přiřadit.

  6. (Volitelné) Omezte přístup k pracovnímu prostoru jen pro čtení.

    V nabídce Spravovat úroveň přístupu vyberte Změnit přístup jen pro čtení.

    Tento výběr můžete kdykoliv vrátit zpět úpravou katalogu a výběrem možnosti Změnit přístup ke čtení a zápisu.

Pokud chcete přístup odvolat, přejděte na kartu Pracovní prostory , vyberte pracovní prostor a klikněte na Tlačítko Odvolat.

API

Existují dvě rozhraní API a dva kroky potřebné k přiřazení katalogu k pracovnímu prostoru. V následujícíchpříkladch <workspace-url> Informace o tom, jak získat název instance pracovního prostoru a ID pracovního prostoru, najdete v tématu Získání identifikátorů pro objekty pracovního prostoru. Další informace o získání přístupových tokenů najdete v tématu Ověřování pro automatizaci Azure Databricks – přehled.

  1. catalogs Pomocí rozhraní API nastavte katalog isolation mode naISOLATED:

    curl -L -X PATCH 'https://<workspace-url>/api/2.1/unity-catalog/catalogs/<my-catalog> \
    -H 'Authorization: Bearer <my-token> \
    -H 'Content-Type: application/json' \
    --data-raw '{
     "isolation_mode": "ISOLATED"
     }'
    

    Výchozí hodnota isolation mode je OPEN pro všechny pracovní prostory připojené k metastoru.

  2. Pomocí aktualizačního bindings rozhraní API přiřaďte pracovní prostory katalogu:

    curl -L -X PATCH 'https://<workspace-url>/api/2.1/unity-catalog/bindings/catalog/<my-catalog> \
    -H 'Authorization: Bearer <my-token> \
    -H 'Content-Type: application/json' \
    --data-raw '{
      "add": [{"workspace_id": <workspace-id>, "binding_type": <binding-type>}...],
      "remove": [{"workspace_id": <workspace-id>, "binding_type": "<binding-type>}...]
    }'
    

    "add" Pomocí vlastností "remove" můžete přidávat nebo odebírat vazby pracovního prostoru. <binding-type> může být buď “BINDING_TYPE_READ_WRITE” (výchozí) nebo “BINDING_TYPE_READ_ONLY”.

Pokud chcete zobrazit seznam všech přiřazení pracovních prostorů pro katalog, použijte rozhraní API seznamu bindings :

   curl -L -X GET 'https://<workspace-url>/api/2.1/unity-catalog/bindings/catalog/<my-catalog> \
   -H 'Authorization: Bearer <my-token> \

Zrušení vazby katalogu z pracovního prostoru

Pokyny pro odvolání přístupu k katalogu pomocí Průzkumníka katalogů nebo bindings rozhraní API jsou zahrnuty v vazbu katalogu k jednomu nebo více pracovním prostorům.

Důležité

Pokud byl váš pracovní prostor povolen pro katalog Unity automaticky a máte katalog pracovních prostorů, správci pracovního prostoru tento katalog vlastní a mají všechna oprávnění pouze v daném katalogu. Pokud zrušíte vazbu tohoto katalogu nebo ho svážete s jinými katalogy, musíte členům skupiny správců pracovního prostoru udělit ručně požadovaná oprávnění jako jednotliví uživatelé nebo skupiny na úrovni účtu, protože skupina správců pracovního prostoru je místní skupina pracovního prostoru. Další informace o skupinách účtů a místních skupinách pracovních prostorů najdete v tématu Rozdíl mezi skupinami účtů a místními skupinami pracovního prostoru.

Přidání schémat do katalogu

Pokud chcete zjistit, jak do katalogu přidat schémata (databáze). Viz Vytváření a správa schémat (databází).

Zobrazení podrobností katalogu

Pokud chcete zobrazit informace o katalogu, můžete použít Průzkumníka katalogu nebo příkaz SQL.

Průzkumník katalogu

  1. Přihlaste se k pracovnímu prostoru, který je propojený s metastorem.

  2. Klikněte na Ikona kataloguKatalog.

  3. V podokně Katalog vyhledejte katalog a klikněte na jeho název.

    Některé podrobnosti jsou uvedeny v horní části stránky. Ostatní se dají zobrazit na kartách Schémata, Podrobnosti, Oprávnění a Pracovní prostory .

Sql

V poznámkovém bloku nebo editoru SQL Databricks spusťte následující příkaz SQL. Položky v závorkách jsou volitelné. Nahraďte zástupný symbol <catalog-name>.

Podrobnosti najdete v tématu POPIS KATALOGU.

DESCRIBE CATALOG <catalog-name>;

Slouží CATALOG EXTENDED k získání úplných podrobností.

Odstranění katalogu

Pokud chcete katalog odstranit (nebo odstranit), můžete použít Průzkumníka katalogu nebo příkaz SQL. Pokud chcete katalog odstranit, musíte být jeho vlastníkem.

Průzkumník katalogu

Před odstraněním katalogu je nutné odstranit všechna schémata v katalogu information_schema . To zahrnuje automaticky vytvořené default schéma.

  1. Přihlaste se k pracovnímu prostoru, který je propojený s metastorem.
  2. Klikněte na Ikona kataloguKatalog.
  3. V podokně Katalog klikněte na levé straně na katalog, který chcete odstranit.
  4. V podokně podrobností klikněte na nabídku se třemi tečky vlevo od tlačítka Vytvořit databázi a vyberte Odstranit.
  5. V dialogovém okně Odstranit katalog klikněte na Odstranit.

Sql

V poznámkovém bloku nebo editoru SQL Databricks spusťte následující příkaz SQL. Položky v závorkách jsou volitelné. Nahraďte zástupný symbol <catalog-name>.

Popisy parametrů naleznete v tématu DROP CATALOG.

Pokud použijete DROP CATALOG bez CASCADE možnosti, musíte odstranit všechna schémata v katalogu s výjimkou před information_schema odstraněním katalogu. To zahrnuje automaticky vytvořené default schéma.

DROP CATALOG [ IF EXISTS ] <catalog-name> [ RESTRICT | CASCADE ]

Pokud chcete například odstranit katalog pojmenovaný vaccine a jeho schémata:

DROP CATALOG vaccine CASCADE

Správa výchozího katalogu

Pro každý pracovní prostor, který je povolený pro katalog Unity, je nakonfigurovaný výchozí katalog. Výchozí katalog umožňuje provádět datové operace bez zadání katalogu. Pokud při provádění operací s daty vynecháte název katalogu nejvyšší úrovně, předpokládá se výchozí katalog.

Správce pracovního prostoru může zobrazit nebo přepnout výchozí katalog pomocí uživatelského rozhraní Správa Nastavení. Výchozí katalog clusteru můžete nastavit také pomocí konfigurace Sparku.

Příkazy, které nezadávají katalog (například GRANT CREATE TABLE ON SCHEMA myschema TO mygroup) se vyhodnocují pro katalog v následujícím pořadí:

  1. Je katalog nastavený pro relaci pomocí USE CATALOG příkazu nebo nastavení JDBC?
  2. Je v clusteru nastavená konfigurace spark.databricks.sql.initial.catalog.namespace Sparku?
  3. Je pro cluster nastavený výchozí katalog pracovního prostoru?

Výchozí konfigurace katalogu při povolení katalogu Unity

Výchozí katalog, který byl původně nakonfigurovaný pro váš pracovní prostor, závisí na tom, jak byl váš pracovní prostor povolený pro katalog Unity:

  • U některých pracovních prostorů, které byly pro katalog Unity povoleny automaticky, byl katalog pracovních prostorů nastaven jako výchozí katalog. Viz Automatické povolení katalogu Unity.
  • Pro všechny ostatní pracovní prostory hive_metastore se katalog nastavil jako výchozí katalog.

Pokud přecházíte z metastoru Hive do katalogu Unity v rámci existujícího pracovního prostoru, obvykle je vhodné použít hive_metastore jako výchozí katalog, abyste se vyhnuli dopadu existujícího kódu, který odkazuje na metastore Hive.

Změna výchozího katalogu

Správce pracovního prostoru může změnit výchozí katalog pracovního prostoru. Každý, kdo má oprávnění k vytvoření nebo úpravě clusteru, může pro cluster nastavit jiný výchozí katalog.

Upozorňující

Změna výchozího katalogu může přerušit existující datové operace, které na něm závisejí.

Konfigurace jiného výchozího katalogu pro pracovní prostor:

  1. Přihlaste se ke svému pracovnímu prostoru jako správce pracovního prostoru.
  2. Klikněte na své uživatelské jméno v horním panelu pracovního prostoru a v rozevíracím seznamu vyberte Nastavení.
  3. Klikněte na kartu Upřesnit .
  4. Ve výchozím katalogu pro řádek pracovního prostoru zadejte název katalogu a klikněte na Uložit.

Restartujte sklady a clustery SQL, aby se změna projevila. Všechny nové a restartované služby SQL Warehouse a clustery budou tento katalog používat jako výchozí pracovní prostor.

Výchozí katalog pro konkrétní cluster můžete také přepsat nastavením následující konfigurace Sparku v clusteru. Tento přístup není k dispozici pro sql warehouse:

spark.databricks.sql.initial.catalog.name

Pokyny najdete v tématu Konfigurace Sparku.

Zobrazení aktuálního výchozího katalogu

Pokud chcete získat aktuální výchozí katalog pro váš pracovní prostor, můžete použít příkaz SQL v poznámkovém bloku nebo dotazu editoru SQL. Správce pracovního prostoru může získat výchozí katalog pomocí uživatelského rozhraní Správa Nastavení.

Nastavení správce

  1. Přihlaste se ke svému pracovnímu prostoru jako správce pracovního prostoru.
  2. Klikněte na své uživatelské jméno v horním panelu pracovního prostoru a v rozevíracím seznamu vyberte Nastavení.
  3. Klikněte na kartu Upřesnit .
  4. Ve výchozím katalogu pro řádek pracovního prostoru zobrazte název katalogu.

Sql

V poznámkovém bloku nebo dotazu editoru SQL, který běží v clusteru kompatibilním s katalogem SQL nebo Unity, spusťte následující příkaz. Výchozí katalog pracovního prostoru se vrátí, pokud v relaci není nastaven žádný USE CATALOG příkaz nebo nastavení JDBC, a pokud pro cluster není nastavená žádná spark.databricks.sql.initial.catalog.namespace konfigurace.

SELECT current_catalog();