Sdílet prostřednictvím


Spravované tabulky Unity Catalog v Azure Databricks pro Delta Lake a Apache Iceberg

Important

Tabulky Delta Lake spravované katalogem Unity jsou obecně dostupné. Tabulky Apache Iceberg spravované katalogem Unity jsou ve verzi Public Preview a jsou dostupné ve verzi Databricks Runtime 16.4 LTS a vyšší.

Tato stránka popisuje spravované tabulky Katalogu Unity v Delta Lake a Apache Icebergu, výchozí a doporučený typ tabulky v Azure Databricks. Tyto tabulky jsou plně řízené a optimalizované katalogem Unity, které nabízejí výkon, provozní výhody a nižší náklady na úložiště a výpočetní prostředky v porovnání s externími a cizími tabulkami, protože se spravované tabulky učí z vašich vzorců čtení a zápisu. Katalog Unity spravuje všechny zodpovědnosti za čtení, zápis, úložiště a optimalizaci spravovaných tabulek. Viz Převod externí tabulky na spravovanou tabulku katalogu Unity.

Datové soubory pro spravované tabulky jsou uloženy ve schématu nebo katalogu, které obsahují. Viz Určete spravované umístění úložiště v katalogu Unity.

Databricks doporučuje používat spravované tabulky, abyste mohli využít:

  • Snížení nákladů na úložiště a výpočetní prostředky
  • Rychlejší výkon dotazů napříč všemi typy klientů
  • Automatická údržba a optimalizace tabulek.
  • Zabezpečený přístup pro klienty, kteří nejsou Databricks, prostřednictvím otevřených rozhraní API.
  • Podpora formátů Delta Lake a Iceberg
  • Automatické upgrady na nejnovější funkce platformy

Spravované tabulky podporují interoperabilitu tím, že umožňují přístup z klientů Delta Lake a Iceberg. Pomocí otevřených rozhraní API a správy přístupových údajů umožňuje Katalog Unity externím modulům, jako jsou Trino, DuckDB, Apache Spark, Daft a Iceberg REST, a také modulům integrovaným do katalogu, jako je Dremio, přístup ke spravovaným tabulkám. Pro externí klienty, kteří nepodporují otevřená rozhraní API, můžete pomocí režimu kompatibility číst spravované tabulky pomocí libovolného klienta Delta Lake nebo Iceberg. Delta Sharing, open source protokol, umožňuje zabezpečené, řízené sdílení dat s externími partnery a platformami.

Můžete pracovat se spravovanými tabulkami ve všech jazycích a produktech podporovaných v Azure Databricks. K vytváření, aktualizaci, odstraňování nebo dotazování spravovaných tabulek potřebujete určitá oprávnění. Viz Správa oprávnění v Unity Catalogu.

Note

Tato stránka se zaměřuje na spravované tabulky katalogu Unity. Spravované tabulky ve starším metastoru Hive najdete v tématu Databázové objekty ve starším metastoru Hive.

Proč používat spravované tabulky Katalogu Unity?

Spravované tabulky Služby Unity automaticky optimalizují náklady na úložiště a rychlosti dotazů pomocí technologií založených na umělé inteligenci, jako je automatické clustering, komprimace velikosti souborů a inteligentní shromažďování statistik. Tyto tabulky zjednodušují správu dat pomocí funkcí, jako je automatické vysávání a ukládání metadat do mezipaměti, a zároveň zajišťuje interoperabilitu s nástroji třetích stran Delta a Iceberg.

Následující funkce jsou jedinečné pro spravované tabulky Služby Unity a nejsou k dispozici pro externí tabulky a cizí tabulky.

Feature Benefits Povoleno ve výchozím nastavení? Konfigurovatelný?
Prediktivní optimalizace Automaticky optimalizuje rozložení dat a výpočetní prostředky pomocí AI, takže nemusíte zpracovávat operace spravovaných tabulek ručně. Databricks doporučuje povolit prediktivní optimalizaci pro všechny spravované tabulky, aby se snížily náklady na úložiště a výpočetní prostředky.
Prediktivní optimalizace se spouští automaticky:
Ano, u všech nových účtů vytvořených 11. listopadu 2024 nebo po 11. listopadu 2024.
U aktuálních účtů začíná Služba Azure Databricks ve výchozím nastavení zavádět prediktivní optimalizaci. Podívejte se, jestli je povolená prediktivní optimalizace.
Ano. Viz Povolení prediktivní optimalizace.
Automatické shlukování kapalin U tabulek s prediktivní optimalizací umožňuje povolení automatického clusteringu azure Databricks inteligentní výběr klíčů clusteringu. Při změně vzorů dotazů Azure Databricks automaticky aktualizuje klíče clusteringu, aby zlepšila výkon a snížila náklady. Ne Ano. Viz Povolení clusteringu kapalin.
Ukládání metadat do mezipaměti Ukládání metadat transakcí do mezipaměti v paměti zvyšuje výkon dotazů minimalizací požadavků na transakční protokol uložený v cloudu. Tato funkce zlepšuje výkon dotazů. Ano Ne. Ukládání metadat do mezipaměti je vždy povolené pro spravované tabulky.
Automatické odstranění souboru po DROP TABLE příkazu Pokud odstraníte spravovanou tabulku, Azure Databricks odstraní data v cloudovém úložišti po 8 dnech, což snižuje náklady na úložiště. U externích tabulek musíte ručně přejít do kontejneru úložiště a odstranit soubory. Ano Ne. U spravovaných tabulek se soubory automaticky odstraní po 8 dnech.

Přístup k datům Databricks pomocí externích systémů

Spravované tabulky podporují interoperabilitu tím, že umožňují přístup z klientů Delta Lake a Iceberg. Katalog Unity umožňuje prostřednictvím otevřených rozhraní API a správy přístupových údajů přístup externím enginám, jako jsou Trino, DuckDB, Apache Spark, Daft a enginy integrované s katalogem REST, jako jsou Iceberg, Dremio a Snowflake, ke spravovaným tabulkám. Podívejte se na seznam podporovaných externích modulů nebo si projděte dokumentaci k vašemu modulu, pokud není uvedená v tomto seznamu.

Následující otevřená rozhraní API poskytují externím systémům přístup ke spravovaným tabulkám Katalogu Unity:

  • Unity REST API: Poskytuje klientům Delta přístup jen pro čtení ke spravovaným tabulkám Delta.
  • Iceberg REST Catalog (IRC):Poskytuje klientům Icebergu přístup pro čtení a zápis ke spravovaným tabulkám Icebergu a přístup jen pro čtení k tabulkám Delta s povolenými čteními Iceberg (UniForm).

Obě rozhraní API podporují vydávání přihlašovacích údajů, které poskytují dočasné přihlašovací údaje s vymezeným oborem, jež přebírají oprávnění daného objektu Azure Databricks, a zároveň uchovávají kontroly správného řízení a zabezpečení.

Kromě toho Delta Sharing je opensourcový protokol, který umožňuje zabezpečený a řízený přístup k datům externími partnery a platformami. Pomocí Delta Sharing můžete partnerům udělit dočasný přístup pouze pro čtení.

Všechna čtení a zápisy do spravovaných tabulek musí používat názvy tabulek a katalog a názvy schémat tam, kde existují. Například: catalog_name.schema_name.table_name. Přístup ke spravovaným tabulkám katalogu Unity založený na cestě není podporován (s výjimkou režimu kompatibility), protože obchází řízení přístupu katalogu Unity a brání správnému fungování funkcí spravovaných tabulek.

Vytvoření spravované tabulky

Pokud chcete vytvořit spravovanou tabulku, musíte mít:

  • USE SCHEMA v nadřazeném schématu tabulky.
  • USE CATALOG v hlavním katalogu tabulky.
  • CREATE TABLE v nadřazeném schématu tabulky.

Pomocí následující syntaxe SQL vytvořte prázdnou spravovanou tabulku pomocí SQL. Nahraďte zástupné hodnoty:

  • <catalog-name>: Název katalogu, který bude obsahovat tabulku.
  • <schema-name>: Název schématu obsahující tabulku.
  • <table-name>: Název tabulky.
  • <column-specification>: Název a datový typ každého sloupce.
-- Create a managed Delta table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
  <column-specification>
);

-- Create a managed Iceberg table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
  <column-specification>
)
USING iceberg;

Aby se zachoval výkon čtení a zápisů, Azure Databricks pravidelně spouští operace za účelem optimalizace spravovaných metadat tabulek Iceberg. Tato úloha se provádí pomocí bezserverového výpočetního prostředí, který má MODIFY oprávnění k tabulce Iceberg. Tato operace zapisuje pouze do metadat tabulky a výpočetní prostředky uchovávají oprávnění pouze k tabulce po dobu trvání úlohy.

Note

Pokud chcete vytvořit tabulku Iceberg, explicitně zadejte USING iceberg. V opačném případě Azure Databricks ve výchozím nastavení vytvoří tabulku Delta Lake.

Spravované tabulky můžete vytvářet z výsledků dotazu nebo operací zápisu do datového rámce. Následující články ukazují některé z mnoha vzorů, které můžete použít k vytvoření spravované tabulky v Azure Databricks:

Vyřazení spravované tabulky

Pokud chcete odstranit spravovanou tabulku, musíte mít:

  • MANAGE v tabulce nebo musíte být vlastníkem tabulky.
  • USE SCHEMA v nadřazeném schématu tabulky.
  • USE CATALOG v hlavním katalogu tabulky.

Pokud chcete odstranit spravovanou tabulku, spusťte následující příkaz SQL:

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

Katalog Unity podporuje UNDROP TABLE příkaz k obnovení vyřazených spravovaných tabulek po dobu 8 dnů. Po 8 dnech azure Databricks označí podkladová data k odstranění z cloudového tenanta a odebere soubory během automatizované údržby tabulek. Viz UNDROP.