Co je katalog Unity?

Tento článek představuje katalog Unity, jednotné řešení zásad správného řízení pro data a prostředky AI v Azure Databricks.

Poznámka:

Katalog Unity je také k dispozici jako opensourcová implementace. Podívejte se na blog s oznámením a veřejným úložištěm GitHubu v katalogu Unity.

Přehled katalogu Unity

Katalog Unity poskytuje centralizované možnosti řízení přístupu, auditování, rodokmenu a zjišťování dat v pracovních prostorech Azure Databricks.

Diagram katalogu Unity

Mezi klíčové funkce katalogu Unity patří:

  • Definovat jednou a bezpečně všude: Katalog Unity nabízí jedno místo pro správu zásad přístupu k datům, které platí pro všechny pracovní prostory.
  • Model zabezpečení kompatibilní se standardy: Model zabezpečení katalogu Unity je založený na standardu ANSI SQL a umožňuje správcům udělit oprávnění ve stávajícím datovém jezeře pomocí známé syntaxe na úrovni katalogů, schémat (označovaných také jako databáze), tabulek a zobrazení.
  • Integrované auditování a rodokmen: Katalog Unity automaticky zaznamenává protokoly auditu na úrovni uživatele, které zaznamenávají přístup k vašim datům. Unity Catalog také zaznamenává data rodokmenu, která sledují způsob vytváření a používání datových prostředků ve všech jazycích.
  • Zjišťování dat: Katalog Unity umožňuje označit a dokumentovat datové prostředky a poskytuje vyhledávací rozhraní, které uživatelům dat pomůže najít data.
  • Systémové tabulky (Public Preview):: Katalog Unity umožňuje snadný přístup k provozním datům vašeho účtu a dotazování se na ně, včetně protokolů auditu, fakturovatelného využití a rodokmenu.

Objektový model Katalogu Unity

V katalogu Unity se všechna metadata registruje v metastoru. Hierarchie databázových objektů v libovolném metastoru katalogu Unity je rozdělená na tři úrovně, které jsou reprezentovány jako tříúrovňový obor názvů (catalog.schema.table-etc) při odkazování na tabulky, zobrazení, svazky, modely a funkce.

Diagram modelu objektu Unity Catalog

Metastory

Metastore je kontejner nejvyšší úrovně pro metadata v katalogu Unity. Zaregistruje metadata o datech a prostředcích AI a oprávněních, která k nim řídí přístup. Aby mohl pracovní prostor používat katalog Unity, musí mít připojený metastore katalogu Unity.

Pro každou oblast, ve které máte pracovní prostory, byste měli mít jeden metastor. Jak se pracovní prostor připojí k metastoru? Viz Návody nastavení katalogu Unity pro moji organizaci?.

Hierarchie objektů v metastoru

V metastore katalogu Unity se tříúrovňová hierarchie databázových objektů skládá z katalogů obsahujících schémata, která zase obsahují data a objekty AI, jako jsou tabulky a modely.

Úroveň jedna:

  • Katalogy slouží k uspořádání datových prostředků a obvykle se používají jako nejvyšší úroveň ve schématu izolace dat. Katalogy často zrcadlí organizační jednotky nebo obory životního cyklu vývoje softwaru. Podívejte se, co jsou katalogy v Azure Databricks?
  • Zabezpečitelné objekty, jako jsou přihlašovací údaje úložiště a externí umístění, se používají ke správě modelu zásad správného řízení dat v katalogu Unity. Jsou také aktivní přímo pod metastorem. Podrobněji jsou popsány v jiných zabezpečitelných objektech.

Úroveň 2:

  • Schémata (označovaná také jako databáze) obsahují tabulky, zobrazení, svazky, modely AI a funkce. Schémata uspořádávají data a prostředky AI do logických kategorií, které jsou podrobnější než katalogy. Schéma obvykle představuje jeden případ použití, projekt nebo týmový sandbox. Podívejte se, co jsou schémata v Azure Databricks?

Úroveň 3:

  • Svazky jsou logické svazky nestrukturovaných, ne tabulkových dat v cloudovém úložišti objektů. Svazky je možné spravovat buď pomocí katalogu Unity, který spravuje celý životní cyklus a rozložení dat v úložišti, nebo externí, pomocí katalogu Unity, který spravuje přístup k datům z Azure Databricks, ale ne ke správě přístupu k datům v cloudovém úložišti z jiných klientů. Podívejte se , co jsou svazky katalogu Unity? a Spravované a externí tabulky a svazky.
  • Tabulky jsou kolekce dat uspořádaných podle řádků a sloupců. Tabulky je možné spravovat buď pomocí katalogu Unity, který spravuje celý životní cyklus tabulky, nebo externí, pomocí katalogu Unity, který spravuje přístup k datům z Azure Databricks, ale ne ke správě přístupu k datům v cloudovém úložišti od jiných klientů. Podívejte se , co jsou tabulky a zobrazení? a spravované a externí tabulky a svazky.
  • Zobrazení se ukládají dotazy na jednu nebo více tabulek. Podívejte se , co je zobrazení?.
  • Funkce jsou jednotky uložené logiky, které vracejí skalární hodnotu nebo sadu řádků. Viz uživatelem definované funkce (UDF) v katalogu Unity.
  • Modely jsou modely AI zabalené s MLflow a zaregistrované v katalogu Unity jako funkce. Viz Správa životního cyklu modelu v katalogu Unity.

Práce s databázovými objekty v katalogu Unity

Práce s databázovými objekty v katalogu Unity je velmi podobná práci s databázovými objekty zaregistrovanými v metastoru Hive s výjimkou, že metastor Hive neobsahuje katalogy v oboru názvů objektů. Pomocí známé syntaxe ANSI můžete vytvářet databázové objekty, spravovat databázové objekty, spravovat oprávnění a pracovat s daty v katalogu Unity. Můžete také vytvářet databázové objekty, spravovat databázové objekty a spravovat oprávnění k databázovým objektům pomocí uživatelského rozhraní Průzkumníka katalogů.

Další informace najdete v tématu Databázové objekty v Azure Databricks a práce s katalogem Unity a starším metastorem Hive.

Další zabezpečitelné objekty

Kromě databázových objektů a prostředků AI obsažených ve schématech řídí katalog Unity také přístup k datům pomocí následujících zabezpečitelných objektů:

Další informace o zabezpečitelných objektech rozdílového sdílení najdete v tématu Co je rozdílové sdílení?.

Udělení a odvolání přístupu k databázovým objektům a dalším zabezpečitelným objektům v katalogu Unity

Přístup k zabezpečitelným objektům můžete udělit a odvolat na libovolné úrovni hierarchie, včetně samotného metastoru. Přístup k objektu implicitně uděluje stejný přístup všem podřízeným objektům, pokud není přístup odvolán.

K udělení a odvolání přístupu k objektům v katalogu Unity můžete použít typické příkazy ANSI SQL. Příklad:

GRANT CREATE TABLE ON SCHEMA mycatalog.myschema TO `finance-team`;

Ke správě oprávnění k objektům můžete použít také Průzkumníka katalogu, rozhraní příkazového řádku Databricks a rozhraní REST API.

Udělení oprávnění pomocí Průzkumníka katalogu

Informace o správě oprávnění v katalogu Unity najdete v tématu Správa oprávnění v katalogu Unity.

Výchozí přístup k databázovým objektům v katalogu Unity

Katalog Unity funguje na principu nejnižších oprávnění, kdy uživatelé mají minimální přístup, který potřebují k provádění požadovaných úloh. Při vytváření pracovního prostoru mají uživatelé, kteří nejsou správci, přístup pouze k automaticky zřízenému katalogu pracovních prostorů, což umožňuje uživatelům vyzkoušet proces vytváření a přístupu k databázovým objektům v katalogu Unity. Viz oprávnění katalogu pracovních prostorů.

Role správce

Správci pracovních prostorů a správci účtů mají ve výchozím nastavení další oprávnění. Správce metastoru je volitelná role, která se vyžaduje, pokud chcete spravovat úložiště tabulek a svazků na úrovni metastoru a pokud chcete data centrálně spravovat v různých pracovních prostorech v oblasti. Další informace najdete v tématu Oprávnění správce v katalogu Unity a (volitelné) Přiřazení role správce metastoru.

Spravované a externí tabulky a svazky

Tabulky a svazky je možné spravovat nebo externí.

  • Spravované tabulky jsou plně spravované katalogem Unity, což znamená, že Katalog Unity spravuje zásady správného řízení i podkladové datové soubory pro každou spravovanou tabulku. Spravované tabulky se ukládají do umístění spravovaného katalogem Unity ve vašem cloudovém úložišti. Spravované tabulky vždy používají formát Delta Lake. Spravované tabulky můžete ukládat na úrovni metastoru, katalogu nebo schématu.
  • Externí tabulky jsou tabulky , jejichž přístup z Azure Databricks spravuje Katalog Unity, ale jejichž životní cyklus dat a rozložení souborů se spravují pomocí poskytovatele cloudu a dalších datových platforem. K registraci velkých objemů stávajících dat v Azure Databricks obvykle používáte externí tabulky nebo pokud potřebujete také přístup k zápisu k datům pomocí nástrojů mimo Azure Databricks. Externí tabulky jsou podporovány ve více formátech dat. Jakmile je externí tabulka zaregistrovaná v metastore katalogu Unity, můžete spravovat a auditovat přístup k Azure Databricks – a pracovat s ní – stejně jako s spravovanými tabulkami.
  • Spravované svazky jsou plně spravované katalogem Unity, což znamená, že Katalog Unity spravuje přístup k umístění úložiště svazku v účtu poskytovatele cloudu. Když vytvoříte spravovaný svazek, automaticky se uloží do spravovaného umístění úložiště přiřazeného k obsahujícímu schématu.
  • Externí svazky představují existující data v umístěních úložiště spravovaných mimo Azure Databricks, ale zaregistrované v Katalogu Unity pro řízení a audit přístupu z Azure Databricks. Při vytváření externího svazku v Azure Databricks zadáte jeho umístění, které musí být na cestě definované v externím umístění katalogu Unity.

Databricks doporučuje spravované tabulky a svazky, aby plně využívaly možnosti zásad správného řízení katalogu Unity a optimalizace výkonu.

Viz Práce se spravovanými tabulkami, Práce s externími tabulkami a Spravovanými a externími svazky.

Izolace dat pomocí spravovaného úložiště

Vaše organizace může vyžadovat, aby data určitých typů byla uložena v konkrétních účtech nebo kontejnerech ve vašem cloudovém tenantovi.

Katalog Unity umožňuje konfigurovat umístění úložiště na úrovni metastoru, katalogu nebo schématu tak, aby splňovala tyto požadavky. Systém vyhodnotí hierarchii umístění úložiště ze schématu do katalogu do metastoru.

Řekněme například, že vaše organizace má zásady dodržování předpisů společnosti, které vyžadují produkční data týkající se lidských prostředků, která se nacházejí v kontejneru abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net. V katalogu Unity můžete tohoto požadavku dosáhnout nastavením umístění na úrovni katalogu, vytvořením katalogu volaný například hr_proda přiřazením umístění abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog k němu. To znamená, že spravované tabulky nebo svazky vytvořené v hr_prod katalogu (například pomocí CREATE TABLE hr_prod.default.table …) ukládají data do abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog. Volitelně můžete zadat umístění na úrovni schématu pro uspořádání dat v rámci hr_prod catalog podrobnější úrovně.

Pokud pro některé katalogy není nutná izolace úložiště, můžete volitelně nastavit umístění úložiště na úrovni metastoru. Toto umístění slouží jako výchozí umístění pro spravované tabulky a svazky v katalogech a schématech, které nemají přiřazené úložiště. Databricks ale obvykle doporučuje, abyste každému katalogu přiřadili samostatná spravovaná umístění úložiště.

Další informace najdete v tématu Určení spravovaného umístění úložiště v katalogu Unity a data jsou fyzicky oddělená v úložišti.

Vazba katalogu pracovních prostorů

Ve výchozím nastavení můžou vlastníci katalogu (a správci metastoru, pokud jsou pro tento účet definováni), zpřístupnit katalog uživatelům ve více pracovních prostorech připojených ke stejnému metastoru katalogu Unity. Pokud ale používáte pracovní prostory k izolaci přístupu k uživatelským datům, možná budete chtít omezit přístup katalogu na konkrétní pracovní prostory ve vašem účtu, abyste zajistili, že se určité druhy dat zpracovávají jenom v těchto pracovních prostorech. Můžete například chtít samostatné pracovní prostory pro produkční a vývoj nebo samostatný pracovní prostor pro zpracování osobních údajů. To se označuje jako vazba katalogu pracovních prostorů. Viz Omezení přístupu katalogu ke konkrétním pracovním prostorům.

Poznámka:

Pokud chcete zvýšit izolaci dat, můžete také svázat přístup ke cloudovému úložišti s konkrétními pracovními prostory. Viz (Volitelné) Přiřazení přihlašovacích údajů úložiště konkrétním pracovním prostorům a (volitelné) Přiřazení externího umístění konkrétním pracovním prostorům.

Auditování přístupu k datům

Katalog Unity zaznamenává protokol auditu akcí provedených s metastorem, což správcům umožňuje přístup k podrobným podrobnostem o tom, kdo získal přístup k dané datové sadě a akcím, které provedli.

K protokolům auditu účtu můžete přistupovat pomocí systémových tabulek spravovaných katalogem Unity.

Podívejte se na události katalogu Unity Audit Unity, události katalogu Unity a monitorování využití pomocí systémových tabulek.

Rodokmen dat sledování

Katalog Unity můžete použít k zachycení rodokmenu dat modulu runtime napříč dotazy v libovolném jazyce spuštěného v clusteru Azure Databricks nebo SQL Warehouse. Rodokmen je zachycený na úrovni sloupce a zahrnuje poznámkové bloky, úlohy a řídicí panely související s dotazem. Další informace najdete v tématu Zachycení a zobrazení rodokmenu dat pomocí katalogu Unity.

Lakehouse Federation a Unity Catalog

Lakehouse Federation je platforma federace dotazů pro Azure Databricks. Federace dotazů termínů popisuje kolekci funkcí, které uživatelům a systémům umožňují spouštět dotazy na více vyloděných zdrojů dat, aniž by bylo nutné migrovat všechna data do sjednoceného systému.

Azure Databricks ke správě federace dotazů používá katalog Unity. Katalog Unity slouží ke konfiguraci připojení jen pro čtení k oblíbeným externím databázovým systémům a vytváření cizích katalogů, které zrcadlí externí databáze. Nástroje pro zásady správného řízení dat a rodokmen dat v Unity zajišťují, že přístup k datům je spravovaný a auditovaný pro všechny federované dotazy provedené uživateli v pracovních prostorech Azure Databricks.

Podívejte se , co je Federace Lakehouse?.

Rozdílové sdílení, Marketplace Databricks a Katalog Unity

Delta Sharing je zabezpečená platforma pro sdílení dat, která umožňuje sdílet data a prostředky AI s uživateli mimo vaši organizaci, ať už tito uživatelé používají Databricks. I když je rozdílové sdílení k dispozici jako opensourcová implementace, vyžaduje v Databricks katalog Unity, aby plně využil výhod rozšířených funkcí. Podívejte se, co je rozdílové sdílení?

Databricks Marketplace, otevřené fórum pro výměnu datových produktů, je postavené na rozdílovém sdílení, a proto musíte mít pracovní prostor s podporou katalogu Unity jako poskytovatel Marketplace. Podívejte se, co je Databricks Marketplace?

Návody nastavit katalog Unity pro moji organizaci?

Pokud chcete použít Katalog Unity, musí být váš pracovní prostor Azure Databricks povolený pro Katalog Unity, což znamená, že pracovní prostor je připojený k metastoru katalogu Unity.

Jak se pracovní prostor připojí k metastoru? Závisí na účtu a pracovním prostoru:

  • Při prvním vytvoření pracovního prostoru Azure Databricks v oblasti se metastor obvykle vytvoří automaticky a připojí se k pracovnímu prostoru.
  • U některých starších účtů musí správce účtu vytvořit metastor a přiřadit pracovní prostory v této oblasti metastoru. Pokyny najdete v tématu Vytvoření metastoru katalogu Unity.
  • Pokud už má účet přiřazený metastor pro oblast, správce účtu se může rozhodnout, jestli se metastor automaticky připojí ke všem novým pracovním prostorům v této oblasti. Viz Povolení automatického přiřazení metastoru k novým pracovním prostorům.

Bez ohledu na to, jestli byl váš pracovní prostor pro Katalog Unity povolen automaticky, jsou také potřeba následující kroky, abyste mohli začít s katalogem Unity:

  • Vytvořte katalogy a schémata, která budou obsahovat databázové objekty, jako jsou tabulky a svazky.
  • Vytvořte spravovaná umístění úložiště pro ukládání spravovaných tabulek a svazků v těchto katalogech a schématech.
  • Udělte uživatelům přístup k katalogům, schématům a databázovým objektům.

Pracovní prostory, které jsou automaticky povolené pro katalog Unity, zřizují katalog pracovních prostorů s širokými oprávněními udělenými všem uživatelům pracovního prostoru. Tento katalog je vhodným výchozím bodem pro vyzkoušení katalogu Unity.

Podrobné pokyny k nastavení najdete v tématu Nastavení a správa katalogu Unity.

Migrace existujícího pracovního prostoru do katalogu Unity

Pokud máte starší pracovní prostor, který jste nedávno povolili pro katalog Unity, pravděpodobně máte data spravovaná starší verzí metastoru Hive. S daty zaregistrovanými v katalogu Unity můžete pracovat s daty, ale starší metastore Hive je zastaralý a data v metastoru Hive byste měli migrovat do katalogu Unity co nejdříve, abyste mohli využívat vynikající možnosti a výkon katalogu Unity.

Migrace zahrnuje následující:

  1. Převod všech místních skupin pracovního prostoru na skupiny na úrovni účtu Katalog Unity centralizuje správu identit na úrovni účtu.
  2. Migrace tabulek a zobrazení spravovaných v metastoru Hive do katalogu Unity
  3. Aktualizujte dotazy a úlohy tak, aby odkazy na nové tabulky katalogu Unity namísto starých tabulek metastoru Hive.

Následující informace vám můžou pomoct se správou migrace:

Požadavky a omezení katalogu Unity

Katalog Unity vyžaduje konkrétní typy výpočetních prostředků a formátů souborů, které jsou popsány níže. Dále jsou uvedeny některé funkce Azure Databricks, které nejsou plně podporované v katalogu Unity ve všech verzích Databricks Runtime.

Podpora oblastí

Všechny oblasti podporují katalog Unity. Podrobnosti najdete v oblastech Azure Databricks.

Požadavky na výpočetní prostředky

Katalog Unity je podporován v clusterech, na kterých běží Databricks Runtime 11.3 LTS nebo vyšší. Katalog Unity se ve výchozím nastavení podporuje ve všech výpočetních verzích SQL Warehouse .

Clustery spuštěné v dřívějších verzích databricks Runtime neposkytují podporu pro všechny funkce a funkce ga katalogu Unity.

Aby bylo možné získat přístup k datům v katalogu Unity, musí být clustery nakonfigurované se správným režimem přístupu. Katalog Unity je ve výchozím nastavení zabezpečený. Pokud cluster není nakonfigurovaný s režimem sdíleného nebo jednoho uživatele, cluster nemá přístup k datům v katalogu Unity. Viz režimy Accessu.

Podrobné informace o změnách funkcí katalogu Unity v jednotlivých verzích modulu Databricks Runtime najdete v poznámkách k verzi.

Omezení katalogu Unity se liší podle režimu přístupu a verze Databricks Runtime. Podívejte se na omezení režimu výpočetního přístupu pro katalog Unity.

Podpora formátu souborů

Katalog Unity podporuje následující formáty tabulek:

Omezení

Katalog Unity má následující omezení. Některé z nich jsou specifické pro starší verze Databricks Runtime a režimy výpočetního přístupu.

Úlohy strukturovaného streamování mají další omezení v závislosti na modulu Databricks Runtime a režimu přístupu. Podívejte se na omezení režimu výpočetního přístupu pro katalog Unity.

Databricks vydává nové funkce, které tento seznam pravidelně zmenšuje.

  • Skupiny, které byly dříve vytvořeny v pracovním prostoru (to znamená skupiny na úrovni pracovního prostoru), nelze použít v příkazech katalogu GRANT Unity. Tím zajistíte konzistentní zobrazení skupin, které můžou překlenovat mezi pracovními prostory. Pokud chcete použít skupiny v GRANpříkazech T, vytvořte skupiny na úrovni účtu a aktualizujte všechny automatizace pro správu objektů zabezpečení nebo skupin (jako jsou konektory SCIM, Okta a Microsoft Entra ID a Terraform) tak, aby odkazovat na koncové body účtu místo koncových bodů pracovního prostoru. Podívejte se na rozdíl mezi skupinami účtů a místními skupinami pracovního prostoru.

  • Úlohy v jazyce R nepodporují použití dynamických zobrazení pro zabezpečení na úrovni řádků nebo sloupců na výpočetních prostředcích, na kterých běží Databricks Runtime 15.3 a novější.

    Pro úlohy v R, které dotazují dynamická zobrazení, použijte jeden uživatelský výpočetní prostředek, na kterém běží Databricks Runtime 15.4 LTS nebo vyšší. Takové úlohy také vyžadují pracovní prostor, který je povolený pro bezserverové výpočetní prostředky. Podrobnosti najdete v tématu Jemně odstupňované řízení přístupu u výpočetních prostředků jednoho uživatele.

  • V katalogu Unity nejsou podporované klony s využitím výpočetního prostředí Databricks Runtime 12.2 LTS a níže. K vytvoření spravovaných tabulek ve službě Databricks Runtime 13.3 LTS a vyšší můžete použít klony s mělkými úrovněmi. Nemůžete je použít k vytváření externích tabulek bez ohledu na verzi Databricks Runtime. Viz "Mělké klonování" pro tabulky katalogu Unity.

  • Kontejnery nejsou podporovány pro tabulky katalogu Unity. Pokud spustíte příkazy, které se pokusí vytvořit tabulku v katalogu Unity, vyvolá výjimku.

  • Zápis do stejné cesty nebo tabulky Delta Lake z pracovních prostorů ve více oblastech může vést k nespolehlivému výkonu, pokud některé clustery přistupují ke katalogu Unity a jiné ne.

  • Vlastní schémata oddílů vytvořená pomocí příkazů, jako ALTER TABLE ADD PARTITION jsou, nejsou podporována pro tabulky v katalogu Unity. Katalog Unity má přístup k tabulkám, které používají dělení ve stylu adresáře.

  • Režim přepsání operací zápisu do objektu DataFrame do katalogu Unity je podporován pouze pro tabulky Delta, ne pro jiné formáty souborů. Uživatel musí mít CREATE oprávnění pro nadřazené schéma a musí být vlastníkem existujícího objektu nebo mít MODIFY oprávnění k objektu.

  • Funkce definované uživatelem Pythonu se nepodporují v Databricks Runtime 12.2 LTS a níže. To zahrnuje UDAF, UDTFs a Pandas ve Sparku (applyInPandas a mapInPandas). Skalární funkce definované uživatelem v Pythonu se podporují v Databricks Runtime 13.3 LTS a vyšší.

  • Uživatelem definované funkce Scala se ve sdílených clusterech nepodporují databricks Runtime 14.1 a níže. Skalární funkce definované uživatelem se podporují v Databricks Runtime 14.2 a novějších ve sdílených clusterech.

  • Standardní fondy vláken Scala se nepodporují. Místo toho použijte speciální fondy vláken například org.apache.spark.util.ThreadUtilsorg.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool. Následující fondy ThreadUtils vláken však nejsou podporovány: ThreadUtils.newForkJoinPool a žádný ScheduledExecutorService fond vláken.

  • Protokolování auditu je podporováno pouze pro události katalogu Unity na úrovni pracovního prostoru. Události, které probíhají na úrovni účtu bez odkazu na pracovní prostor, jako je například vytvoření metastoru, se nezaprotokolují.

Modely zaregistrované v katalogu Unity mají další omezení. Viz Omezení.

Kvóty prostředků

Katalog Unity vynucuje kvóty prostředků pro všechny zabezpečitelné objekty. Tyto kvóty jsou uvedené v omezeních prostředků. Pokud očekáváte překročení těchto limitů prostředků, obraťte se na svůj tým účtů Azure Databricks.

Využití kvóty můžete monitorovat pomocí rozhraní API kvót katalogu Unity. Viz Monitorování využití kvót prostředků katalogu Unity.