Co je Delta Lake?

Delta Lake je optimalizovaná vrstva úložiště, která poskytuje základ pro tabulky v lakehouse v Databricks. Delta Lake je opensourcový software , který rozšiřuje datové soubory Parquet o souborový transakční protokol pro transakce ACID a škálovatelné zpracování metadat. Delta Lake je plně kompatibilní s rozhraními Apache Spark API a byl vyvinut pro úzkou integraci se strukturovaným streamováním, takže můžete snadno použít jednu kopii dat pro dávkové i streamovací operace a poskytovat přírůstkové zpracování ve velkém měřítku.

Delta Lake je výchozí formát úložiště pro všechny operace v Azure Databricks. Pokud není uvedeno jinak, všechny tabulky v Azure Databricks jsou tabulky Delta. Databricks původně vyvinul protokol Delta Lake a nadále aktivně přispívá do opensourcového projektu. Mnoho optimalizací a produktů na platformě Databricks vychází ze záruk poskytovaných Apache Sparkem a Delta Lake. Informace o optimalizacích v Azure Databricks najdete v doporučeních pro optimalizaci v Azure Databricks.

Referenční informace o příkazech Delta Lake SQL najdete v tématu Příkazy Delta Lake.

Transakční protokol Delta Lake má dobře definovaný otevřený protokol, který může jakýkoli systém použít ke čtení protokolu. Viz protokol delta transakčního protokolu.

Začínáme s Delta Lake

Všechny tabulky v Azure Databricks jsou ve výchozím nastavení tabulkami Delta. Bez ohledu na to, jestli používáte datové rámce Apache Spark nebo SQL, získáte všechny výhody Delta Lake tím, že data uložíte do jezera s výchozím nastavením.

Příklady základních operací Delta Lake, jako je vytváření tabulek, čtení, zápis a aktualizace dat, najdete v tématu Kurz: Delta Lake.

Databricks nabízí řadu doporučení pro osvědčené postupy pro Delta Lake.

Převod a ingestování dat na Delta Lake

Azure Databricks poskytuje řadu produktů, které urychlují a zjednodušují načítání dat do jezera.

Úplný seznam možností příjmu dat najdete v tématu Ingestování dat do datového jezera Databricks Lakehouse.

Aktualizace a úprava tabulek Delta Lake

Atomické transakce s Delta Lake poskytují mnoho možností pro aktualizaci dat a metadat. Databricks doporučuje vyhnout se přímé interakci se soubory dat a transakčních protokolů v adresářích souborů Delta Lake, abyste se vyhnuli poškození tabulek.

Přírůstkové a streamované úlohy v Delta Lake

Delta Lake je optimalizovaná pro strukturované streamování v Azure Databricks. Delta Live Tables rozšiřuje nativní funkce díky zjednodušenému nasazení infrastruktury, rozšířenému škálování a závislostem spravovaných dat.

Dotazování na předchozí verze tabulky

Každý zápis do tabulky Delta vytvoří novou verzi tabulky. Transakční protokol můžete použít ke kontrole úprav tabulky a dotazování jejích předchozích verzí. Přečtěte si: Práce s historií tabulky Delta Lake.

Vylepšení schématu Delta Lake

Delta Lake ověřuje schéma při zápisu a zajišťuje, aby všechna data zapsaná do tabulky odpovídala požadavkům, které jste nastavili.

Správa souborů a indexování dat pomocí Delta Lake

Azure Databricks nastavuje mnoho výchozích parametrů pro Delta Lake, které mají vliv na velikost datových souborů a počet verzí tabulek, které se uchovávají v historii. Delta Lake používá kombinaci analýzy metadat a rozložení fyzických dat ke snížení počtu naskenovaných souborů pro splnění jakéhokoli dotazu.

Konfigurace a kontrola nastavení Delta Lake

Azure Databricks ukládá všechna data a metadata pro tabulky Delta Lake v cloudovém úložišti objektů. Mnoho konfigurací je možné nastavit na úrovni tabulky nebo v rámci relace Sparku. Podrobnosti tabulky Delta můžete zkontrolovat a zjistit, jaké možnosti jsou nakonfigurované.

Datové kanály využívající delta lake a živé tabulky Delta

Azure Databricks doporučuje uživatelům využít architekturu medailonu ke zpracování dat prostřednictvím řady tabulek, protože data se čistí a rozšiřuje. Delta Live Tables zjednodušuje úlohy ETL prostřednictvím optimalizovaného spouštění a automatizovaného nasazení a škálování infrastruktury.

Kompatibilita funkcí Delta Lake

Ne všechny funkce Delta Lake jsou ve všech verzích Databricks Runtime. Informace o správě verzí Delta Lake najdete v tématu Jak Azure Databricks spravuje kompatibilitu funkcí Delta Lake?.

Dokumentace k rozhraní Delta Lake API

Pro většinu operací čtení a zápisu v tabulkách Delta můžete použít rozhraní API Spark SQL nebo Apache Spark DataFrame .

Příkazy SQL Delta Lake-spefic najdete v tématu Příkazy Delta Lake.

Azure Databricks zajišťuje binární kompatibilitu s rozhraními Delta Lake API v Databricks Runtime. Pokud chcete zobrazit verzi rozhraní Delta Lake API zabalenou v každé verzi databricks Runtime, přečtěte si část Systémové prostředí v příslušném článku v poznámkách k verzi databricks Runtime. Dokumentaci k rozhraním Delta Lake API pro Python, Scala a Javu najdete v dokumentaci k OSS Delta Lake.