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 SetTransaction s). 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á) |