Sdílet prostřednictvím


Odkaz na vlastnosti tabulky Delta

Delta Lake si vyhrazuje vlastnosti tabulky Delta začínající na delta.. Tyto vlastnosti mohou mít specifické významy a ovlivňují chování při nastavení těchto vlastností.

Poznámka:

Všechny operace, které nastavují nebo aktualizují vlastnosti tabulky, jsou v konfliktu s jinými souběžnými operacemi zápisu, což způsobuje selhání. Databricks doporučuje upravit vlastnost tabulky pouze v případě, že v tabulce nejsou žádné souběžné operace zápisu.

Jak interagují vlastnosti tabulky a vlastnosti SparkSession?

Vlastnosti tabulky Delta jsou nastaveny pro každou tabulku. Pokud je vlastnost nastavena v tabulce, pak se jedná o nastavení, které následuje ve výchozím nastavení.

Některé vlastnosti tabulky mají přidružené konfigurace SparkSession, které mají vždy přednost před vlastnostmi tabulky. Mezi příklady patří konfigurace spark.databricks.delta.autoCompact.enabled , spark.databricks.delta.optimizeWrite.enabled které zapnou automatické komprimace a optimalizované zápisy na úrovni SparkSession místo na úrovni tabulky. Databricks doporučuje pro většinu úloh používat konfigurace s oborem tabulky.

Pro každou vlastnost tabulky Delta můžete nastavit výchozí hodnotu pro nové tabulky pomocí konfigurace SparkSession, přepsání předdefinované výchozí hodnoty. Toto nastavení má vliv pouze na nové tabulky a nepřepíše ani nenahrazuje vlastnosti nastavené u existujících tabulek. Předpona použitá ve SparkSession se liší od konfigurací použitých ve vlastnostech tabulky, jak je znázorněno v následující tabulce:

Delta Lake Conf SparkSession conf
delta.<conf> spark.databricks.delta.properties.defaults.<conf>

Pokud chcete například nastavit vlastnost pro všechny nové tabulky Delta Lake vytvořené v relaci, nastavte delta.appendOnly = true následující:

SET spark.databricks.delta.properties.defaults.appendOnly = true

Chcete-li upravit vlastnosti tabulky existujících tabulek, použijte set TBLPROPERTIES.

Vlastnosti tabulky Delta

Mezi dostupné vlastnosti tabulky Delta patří:

Vlastnost
delta.appendOnly

true pro tuto tabulku Delta musí být pouze připojení. Pokud je pouze připojení, existující záznamy nelze odstranit a existující hodnoty nelze aktualizovat.

Viz odkaz na vlastnosti tabulky Delta.

Datový typ: Boolean

Výchozí: false
delta.autoOptimize.autoCompact

auto pro Delta Lake k automatické optimalizaci rozložení souborů pro tuto tabulku Delta.

Viz Automatické komprimace pro Delta Lake v Azure Databricks.

Datový typ: Boolean

Výchozí hodnota: (žádná)
delta.autoOptimize.optimizeWrite

true pro Delta Lake k automatické optimalizaci rozložení souborů pro tuto tabulku Delta během zápisu.

Viz Optimalizované zápisy pro Delta Lake v Azure Databricks.

Datový typ: Boolean

Výchozí hodnota: (žádná)
delta.checkpoint.writeStatsAsJson

true pro Delta Lake k zápisu statistiky souboru do kontrolních bodů ve formátu JSON pro stats sloupec.

Viz Správa statistik na úrovni sloupců v kontrolních bodech.

Datový typ: Boolean

Výchozí: true
delta.checkpoint.writeStatsAsStruct

true pro Delta Lake zapisovat statistiky souboru do kontrolních bodů ve formátu struktury sloupce stats_parsed a zapisovat hodnoty oddílů jako strukturu pro partitionValues_parsed.

Viz Správa statistik na úrovni sloupců v kontrolních bodech.

Datový typ: Boolean

Výchozí hodnota: (žádná)
delta.checkpointPolicy

classic pro klasické kontrolní body Delta Lake. v2 pro kontrolní body v2.

Viz Kompatibilita tabulek s clusteringem liquid.

Datový typ: String

Výchozí: classic
delta.columnMapping.mode

Určuje, jestli je pro sloupce tabulky Delta povolené mapování sloupců tabulky Delta a odpovídající sloupce Parquet, které používají různé názvy.

Viz Přejmenování a vyřazení sloupců s mapováním sloupců Delta Lake.

Poznámka: Povolení automatického povolení delta.columnMapping.mode
delta.randomizeFilePrefixes.

Datový typ: DeltaColumnMappingMode

Výchozí: none
delta.dataSkippingNumIndexedCols

Počet sloupců pro Delta Lake ke shromažďování statistik o přeskočení dat Hodnota -1 prostředků pro shromažďování statistik pro všechny sloupce.

Viz Vynechání dat pro Delta Lake.

Datový typ: Int

Výchozí: 32
delta.dataSkippingStatsColumns

Čárkami oddělený seznam názvů sloupců, na kterých Delta Lake shromažďuje statistiky za účelem vylepšení funkcí vynechání dat. Tato vlastnost má přednost před delta.dataSkippingNumIndexedCols.

Viz Vynechání dat pro Delta Lake.

Datový typ: String

Výchozí hodnota: (žádná)
delta.deletedFileRetentionDuration

Nejkratší doba, po které Delta Lake uchovává logicky odstraněné datové soubory, než je fyzicky odstraní. To je zabránit selhání v zastaralých čtenářích po komprimaci nebo přepsání oddílů.

Tato hodnota by měla být dostatečně velká, aby se zajistilo, že:

– Pokud používáte VACUUM souběžné čtenáře nebo zapisovače, kteří přistupují k tabulce Delta, je větší než nejdelší možná doba trvání úlohy.
– Pokud spustíte streamovací dotaz, který čte z tabulky, tento dotaz se nezastaví déle než tato hodnota. Jinak se dotaz nemusí restartovat, protože musí stále číst staré soubory.

Viz Konfigurace uchovávání dat pro dotazy na časové cesty.

Datový typ: CalendarInterval

Výchozí: interval 1 week
delta.enableChangeDataFeed

true povolení kanálu změn dat.

Viz Povolení kanálu změn dat.

Datový typ: Boolean

Výchozí: false
delta.enableDeletionVectors

true pro povolení vektorů odstranění a prediktivních vstupně-výstupních operací pro aktualizace.

Podívejte se, co jsou vektory odstranění?

Datový typ: Boolean

Výchozí nastavení: Závisí na nastavení správce pracovního prostoru a verzi Databricks Runtime. Viz automatické povolení vektorů odstraňování
delta.isolationLevel

Stupeň, do kterého musí být transakce izolovaná od úprav provedených souběžnými transakcemi.

Platné hodnoty jsou Serializable a WriteSerializable.

Viz Úrovně izolace a konflikty zápisu v Azure Databricks.

Datový typ: String

Výchozí: WriteSerializable
delta.logRetentionDuration

Jak dlouho se uchovává historie tabulky Delta. VACUUM operace přepíší tuto prahovou hodnotu uchovávání informací.

Při každém zápisu kontrolního bodu Delta Lake automaticky vyčistí položky protokolu starší než interval uchovávání. Pokud tuto vlastnost nastavíte na dostatečně velkou hodnotu, zachová se mnoho položek protokolu. To by nemělo mít vliv na výkon, protože operace s protokolem jsou konstantní čas. Operacesch

Viz Konfigurace uchovávání dat pro dotazy na časové cesty.

Datový typ: CalendarInterval

Výchozí: interval 30 days
delta.minReaderVersion

Minimální požadovaná verze čtečky protokolu pro čtenáře, která umožňuje čtení z této tabulky Delta.

Databricks doporučuje ruční konfiguraci této vlastnosti.

Viz Jak Azure Databricks spravuje kompatibilitu funkcí Delta Lake?.

Datový typ: Int

Výchozí: 1
delta.minWriterVersion

Minimální požadovaná verze zapisovače protokolu pro zapisovač, která umožňuje zapisovat do této tabulky Delta.

Databricks doporučuje ruční konfiguraci této vlastnosti.

Viz Jak Azure Databricks spravuje kompatibilitu funkcí Delta Lake?.

Datový typ: Int

Výchozí: 2
delta.randomizeFilePrefixes

true Pro Delta Lake vygenerování náhodné předpony pro cestu k souboru místo informací o oddílu.

Datový typ: Boolean

Výchozí: false
delta.randomPrefixLength

Pokud delta.randomizeFilePrefixes je nastavena hodnota true, počet znaků, které Delta Lake generuje pro náhodné předpony.

Datový typ: Int

Výchozí: 2
delta.setTransactionRetentionDuration

Nejkratší doba trvání, během které budou nové snímky uchovávat identifikátory transakcí (například SetTransactions). Když nový snímek zobrazí identifikátor transakce starší nebo roven době zadané touto vlastností, snímek považuje jeho platnost za vypršenou a ignoruje ji. Identifikátor SetTransaction se používá při vytváření idempotentních zápisů. Podrobnosti najdete v tématu Idempotentní zápisy tabulek v foreachBatch .

Datový typ: CalendarInterval

Výchozí hodnota: (žádná)
delta.targetFileSize

Cílová velikost souboru v bajtech nebo vyšších jednotkách pro ladění souborů. Příklad:
104857600 (bajty) nebo 100mb.

Viz Konfigurace Delta Lake pro řízení velikosti datového souboru.

Datový typ: String

Výchozí hodnota: (žádná)
delta.tuneFileSizesForRewrites

true pro všechny operace optimalizace rozložení dat v tabulce Delta vždy používat nižší velikosti souborů.

false aby se nikdy nenaladily na nižší velikosti souborů, to znamená zabránit aktivaci automatického zjišťování.

Viz Konfigurace Delta Lake pro řízení velikosti datového souboru.

Datový typ: Boolean

Výchozí hodnota: (žádná)