Správa verzí tabulky

Protokol transakcí pro rozdílovou tabulku obsahuje informace o verzích, které podporují vývoj rozdílových Lake. Rozdílový Lake sleduje minimální verze čtenářů a zapisovače samostatně.

Rozdílový Lake garantuje zpětnou kompatibilitu. Vyšší verze Databricks Runtime je vždy schopná číst data, která byla zapsána nižší verzí.

Rozdílový Lake bude občas přerušit dopředné kompatibility. Nižší verze Databricks Runtime nemusí být schopné číst a zapisovat data, která byla zapsána vyšší verzí Databricks Runtime. Pokud se pokusíte číst a zapisovat do tabulky s verzí Databricks Runtime, která je příliš nízká, zobrazí se chyba oznamující, že je nutné provést upgrade.

Při vytváření tabulky Delta Lake vybere minimální požadovanou verzi protokolu na základě vlastností tabulky, jako jsou vlastnosti schématu nebo tabulky. Výchozí verze protokolu můžete nastavit také nastavením konfigurace SQL:

  • spark.databricks.delta.properties.defaults.minWriterVersion = 2 výchozí
  • spark.databricks.delta.properties.defaults.minReaderVersion = 1 výchozí

Chcete-li upgradovat tabulku na novější verzi protokolu, použijte DeltaTable.upgradeTableProtocol metodu:

Python

from delta.tables import DeltaTable
delta = DeltaTable.forPath(spark, "path_to_table") # or DeltaTable.forName
delta.upgradeTableProtocol(1, 3) # upgrades to readerVersion=1, writerVersion=3

Scala

import io.delta.tables.DeltaTable
val delta = DeltaTable.forPath(spark, "path_to_table") // or DeltaTable.forName
delta.upgradeTableProtocol(1, 3) // upgrades to readerVersion=1, writerVersion=3

Důležité

Upgrady protokolu jsou nevratné, proto doporučujeme, abyste provedli upgrade konkrétních tabulek pouze v případě potřeby, například pro výslovný souhlas s novými funkcemi v rozdílovém Lake.