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.
Tato stránka popisuje úrovně izolace a chování při konfliktech při zápisu tabulek v Delta Lake v Azure Databricks.
Delta Lake poskytuje zajištění transakcí ACID při čtení a zápisech:
- Zapisovače: Více zapisovačů v několika clusterech může současně upravovat oddíl tabulky. Pisatelé vidí konzistentní snímek tabulky a zápisy probíhají v sériovém pořadí.
- Čtenáři: Čtenáři nadále vidí konzistentní zobrazení snímku tabulky, se kterou začala úloha Azure Databricks, i když se během úlohy změní tabulka.
Podívejte se, co jsou záruky ACID v Azure Databricks?
Poznámka:
Azure Databricks ve výchozím nastavení používá Delta Lake pro všechny tabulky.
Témata izolace
| Téma | Description |
|---|---|
| Úrovně izolace (WriteSerializable a Serializable) | Jak obě úrovně izolace ovlivňují souběžné operace a jak je nakonfigurovat. |
| Souběžnost na úrovni řádků | Jak detekce konfliktů na úrovni řádků snižuje konflikty zápisu pro souběžné operace ve stejných datových souborech. |
Informace o izolaci transakcí, práce se snímky a zpracování konfliktů viz téma Izolace transakcí.
Konflikty změn metadat
Změny metadat způsobují selhání všech souběžných operací zápisu. Mezi tyto operace patří změny tabulkového protokolu, vlastností tabulky nebo schématu dat.
Streamové čtení selže, pokud narazí na potvrzení, které změní metadata tabulky. Pokud chcete, aby stream pokračoval, musíte ho restartovat. Doporučené metody najdete v tématu Důležité informace o produkčním prostředí pro strukturované streamování.
Tady jsou příklady dotazů, které mění metadata:
-- Set a table property
ALTER TABLE table_name SET TBLPROPERTIES ('delta.isolationLevel' = 'Serializable')
-- Enable a feature using a table property and update the table protocol
ALTER TABLE table_name SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
-- Drop a table feature
ALTER TABLE table_name DROP FEATURE deletionVectors;
-- Upgrade to UniForm
REORG TABLE table_name APPLY (UPGRADE UNIFORM(ICEBERG_COMPAT_VERSION=2));
-- Update the table schema
ALTER TABLE table_name ADD COLUMNS (col_name STRING);