Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Tabulky Iceberg spravované katalogem Unity jsou k dispozici ve verzi Public Preview v Databricks Runtime 16.4 LTS a vyšší. Cizí tabulky icebergu jsou také ve verzi Public Preview v Databricks Runtime 16.4 LTS a vyšší.
Funkce Iceberg v3 jsou k dispozici v beta verzi v Databricks Runtime 17.3 a vyšší. Viz Použití funkcí Apache Iceberg v3.
Apache Iceberg je opensourcový formát tabulky pro analytické úlohy. Podporuje funkce, jako je vývoj schématu, časové cestování a skryté dělení. Stejně jako Delta Lake poskytuje Iceberg abstraktní vrstvu, která umožňuje transakce ACID na datech uložených v úložišti objektů. Azure Databricks podporuje tabulky Iceberg, které používají formát souboru Apache Parquet. Iceberg udržuje atomicitu a konzistenci zápisem nových souborů metadat pro každou změnu tabulky.
Katalog Iceberg je vrstva nejvyšší úrovně architektury tabulek Iceberg. Zpracovává operace, jako je vytváření, vyřazení a přejmenování tabulek. Její hlavní odpovědností je poskytnout aktuální metadata při načtení tabulky. Azure Databricks podporuje tabulky Iceberg spravované pomocí:
- Katalog Unity
- Zahraniční katalogy, jako je AWS Glue, Hive Metastore nebo Snowflake Horizon Catalog
Všechny tabulky Iceberg v Azure Databricks se řídí otevřenou specifikací formátu tabulky Iceberg. Podívejte se na specifikaci tabulky Iceberg.
Vytváření tabulek Iceberg v katalogu Unity
Tabulky Iceberg vytvořené v Unity Catalogu jsou spravované tabulky Iceberg. Tyto tabulky můžete vytvořit pomocí:
- Databricks Runtime nebo Databricks SQL
- Externí stroje kompatibilní s Icebergem, které podporují rozhraní REST API katalogu Iceberg, jako je Apache Spark, Flink, Trino nebo Kafka. Viz Přístup k tabulkám Azure Databricks z klientů Apache Iceberg.
Spravované tabulky Iceberg jsou plně integrované s funkcemi platformy Azure Databricks. Katalog Unity spravuje úlohy životního cyklu, jako je vypršení platnosti snímků a komprimace souborů v těchto tabulkách. Spravované tabulky Iceberg podporují také clustering s kapalinou, což zlepšuje výkon dotazů. Prediktivní optimalizace automatizuje tyto úlohy, aby se snížily náklady na úložiště a zvýšily rychlost dotazů. Databricks doporučuje ke čtení a zápisu do katalogu Unity používat klienty Iceberg 1.9.2 a vyšší.
Možnost číst tabulky Iceberg spravované jinými katalogy
Cizí tabulka Iceberg je spravována katalogem, který není součástí Katalogu Unity. Externí katalog ukládá aktuální metadata tabulky. Azure Databricks používá federaci Lakehouse k načtení metadat a čtení tabulky z úložiště objektů.
Cizí tabulky Iceberg jsou v Azure Databricks jen pro čtení a mají omezenou podporu platformy.
Přístup k tabulkám Iceberg pomocí externích systémů
Ke všem tabulkám Iceberg v katalogu Unity můžete přistupovat pomocí rozhraní API katalogu Iceberg REST. Toto otevřené rozhraní API podporuje operace čtení a zápisu z externích modulů Iceberg v různých jazycích a platformách. Viz Přístup k tabulkám Azure Databricks z klientů Apache Iceberg.
Katalog REST podporuje vydávání přihlašovacích údajů, které poskytují dočasné přihlašovací údaje externím strojům pro přístup k podkladovému úložišti. Další informace naleznete v tématu Přihlašovací údaje katalogu Unity pro přístup k externímu systému.
Omezení tabulek Iceberg
Následující omezení platí pro tabulky Iceberg v Azure Databricks a můžou se změnit:
- Tabulky Iceberg podporují pouze formát souborů Apache Parquet.
- Azure Databricks podporuje verze 1, 2 a 3 specifikace Iceberg.
- Informace o omezeních specifických pro v3 najdete v tématu Omezení.
- Výmaz pozice Iceberg v2 a výmaz na základě rovnosti nejsou podporovány. Místo toho Azure Databricks podporuje vektory mazání Iceberg v3 pro odstranění na úrovni řádků.
- Větvení a označování se nepodporují. Pouze hlavní větev je přístupná při čtení cizích tabulek Iceberg.
- Rozkládání:
- Vývoj oddílů u spravovaných tabulek Iceberg je podporován pouze při interakci s externími moduly Iceberg.
- Cizí tabulky Iceberg nepodporují vývoj oddílů.
- Dělení podle
BINARYtypu se nepodporuje.
- Následující datové typy se nepodporují:
UUIDFixed(L)TIME- Vnořené
STRUCTs požadovanými poli
- Spravované tabulky Iceberg nepodporují omezení primárního klíče ani cizího klíče.
Omezení spravovaných tabulek Iceberg
Pro spravované tabulky Iceberg platí následující omezení:
- Filtry řádků a masky sloupců nejsou podporovány.
- Vektorové vyhledávání není podporované.
- Iceberg nepodporuje datové kanály změn. V důsledku toho se přírůstkové zpracování nepodporuje při čtení spravovaných tabulek Iceberg jako zdroje pro:
- Materializovaná zobrazení a streamované tabulky
- Profilace dat
- Online tabulky
- Lakebase
- Klasifikace dat
- Spravované tabulky Iceberg je možné vytvořit pouze v případě, že je povolená prediktivní optimalizace pro údržbu tabulek.
- Následující vlastnosti tabulky spravuje katalog Unity a nejde je nastavit ručně:
write.location-provider.implwrite.data.pathwrite.metadata.pathwrite.format.defaultwrite.delete.format.default
- Kodek pro kompresi nepodporuje změnu komprese tabulky. Ve výchozím nastavení používají všechny tabulky Zstd.
- Dělení podle výrazů (například
years(),months(),days()hours(), ,bucket()) není podporováno.
Omezení tabulek Iceberg cizích
Následující omezení platí zejména pro cizí tabulky Iceberg:
- Podpora cestování v čase je dostupná jen pro snímky Icebergu, které byly dříve čteny v Azure Databricks (to znamená snímky, ve kterých byl proveden příkaz
SELECT). - Použití transformačních funkcí bucketu pro particionování v Iceberg může snížit výkon dotazů při použití podmíněných filtrů.
- Produkty vrstvení cloudového úložiště, jako je Amazon S3, nejsou integrované se zahraničními tabulkami Iceberg. Přístup k cizím tabulkám Iceberg v Azure Databricks může obnovit data archivovaná v nižších úrovních úložiště.
- U clusterů v režimu vyhrazeného přístupu vyžadují
REFRESH FOREIGN TABLEčtení aALL PRIVILEGESoperace na tabulkách Iceberg.