Delta-tábla tulajdonságainak referenciája

A Delta Lake a Delta táblatulajdonságait a kezdőkkel kezdődően lefoglalja delta.. Ezek a tulajdonságok konkrét jelentéssel rendelkezhetnek, és hatással lehetnek a viselkedésre, amikor ezek a tulajdonságok be vannak állítva.

Feljegyzés

A táblatulajdonságokat beállítva vagy frissítve lévő összes művelet ütközik más egyidejű írási műveletekkel, ezért azok meghiúsulnak. A Databricks azt javasolja, hogy csak akkor módosítsa a táblatulajdonságokat, ha nincsenek egyidejű írási műveletek a táblán.

Hogyan működnek együtt a táblatulajdonságok és a SparkSession-tulajdonságok?

A deltatábla tulajdonságai táblánként vannak beállítva. Ha egy tulajdonság egy táblán van beállítva, akkor ezt a beállítást követi az alapértelmezett beállítás.

Egyes táblatulajdonságok társított SparkSession-konfigurációkkal rendelkeznek, amelyek mindig elsőbbséget élveznek a táblatulajdonságokkal szemben. Ilyenek például az spark.databricks.delta.autoCompact.enabled automatikus tömörítést bekapcsoló konfigurációk és spark.databricks.delta.optimizeWrite.enabled az optimalizált írások a SparkSession szintjén, nem pedig a táblázat szintjén. A Databricks a legtöbb számítási feladathoz tábla hatókörű konfigurációkat javasol.

Minden Delta-táblatulajdonsághoz beállíthat egy alapértelmezett értéket az új táblákhoz SparkSession-konfigurációval, felülírva a beépített alapértelmezett értéket. Ez a beállítás csak az új táblákat érinti, és nem bírálja felül vagy nem cseréli le a meglévő táblákon beállított tulajdonságokat. A SparkSession előtagja eltér a táblatulajdonságokban használt konfigurációktól, ahogyan az a következő táblázatban látható:

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

Ha például a delta.appendOnly = true munkamenetben létrehozott összes új Delta Lake-tábla tulajdonságát szeretné beállítani, állítsa be a következőket:

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

A meglévő táblák táblatulajdonságainak módosításához használja a Standard kiadás T TBLPROPERTIES parancsot.

Delta-tábla tulajdonságai

Az elérhető Delta-táblatulajdonságok a következők:

Tulajdonság
delta.appendOnly

true ahhoz, hogy ez a Delta-tábla csak hozzáfűzhető legyen. Ha csak hozzáfűző, a meglévő rekordok nem törölhetők, és a meglévő értékek nem frissíthetők.

Lásd a Delta-tábla tulajdonságaira vonatkozó referenciát.

Adattípus: Boolean

Alapértelmezett: false
delta.autoOptimize.autoCompact

auto a Delta Lake-hez, hogy automatikusan optimalizálja a deltatáblához tartozó fájlok elrendezését.

Tekintse meg a Delta Lake automatikus tömörítését az Azure Databricksben.

Adattípus: Boolean

Alapértelmezett: (nincs)
delta.autoOptimize.optimizeWrite

true a Delta Lake-hez, hogy automatikusan optimalizálja a Delta-táblázat fájljainak elrendezését az írások során.

Lásd: Optimalizált írások a Delta Lake-hez az Azure Databricksben.

Adattípus: Boolean

Alapértelmezett: (nincs)
delta.checkpoint.writeStatsAsJson

true a Delta Lake-hez, hogy a fájlstatisztikákat JSON formátumban írja az oszlop ellenőrzőpontjaiba stats .

Lásd: Oszlopszintű statisztikák kezelése az ellenőrzőpontokon.

Adattípus: Boolean

Alapértelmezett: true
delta.checkpoint.writeStatsAsStruct

true a Delta Lake-hez, hogy fájlstatisztikákat írjon az stats_parsed oszlop strukturálási formátumú ellenőrzőpontjaihoz, és partícióértékeket írjon az oszlopszerkezethez partitionValues_parsed.

Lásd: Oszlopszintű statisztikák kezelése az ellenőrzőpontokon.

Adattípus: Boolean

Alapértelmezett: (nincs)
delta.checkpointPolicy

classic a klasszikus Delta Lake ellenőrzőpontokhoz. v2 v2 ellenőrzőpontokhoz.

Lásd a folyékony fürtözésű táblák kompatibilitását.

Adattípus: String

Alapértelmezett: classic
delta.columnMapping.mode

Azt jelzi, hogy engedélyezve van-e az oszlopleképezés a Delta-táblaoszlopokhoz és a különböző neveket használó megfelelő Parquet-oszlopokhoz.

Lásd: Oszlopok átnevezése és elvetése Delta Lake-oszlopleképezéssel.

Megjegyzés: Az automatikus engedélyezés delta.columnMapping.mode lehetővé teszi
delta.randomizeFilePrefixes.

Adattípus: DeltaColumnMappingMode

Alapértelmezett: none
delta.dataSkippingNumIndexedCols

A Delta Lake oszlopainak száma az adatkiugrás statisztikáinak gyűjtéséhez. Az összes oszlop statisztikáinak gyűjtésére szolgáló eszközök értéke -1 .

Lásd: A Delta Lake adatkihagyása.

Adattípus: Int

Alapértelmezett: 32
delta.dataSkippingStatsColumns

Az oszlopnevek vesszővel tagolt listája, amelyen a Delta Lake statisztikákat gyűjt az adatok kihagyási funkciójának javítása érdekében. Ez a tulajdonság elsőbbséget élvez a delta.dataSkippingNumIndexedCols.

Lásd: A Delta Lake adatkihagyása.

Adattípus: String

Alapértelmezett: (nincs)
delta.deletedFileRetentionDuration

A Delta Lake által a logikailag törölt adatfájlok fizikai törlése előtti legrövidebb időtartam. Ennek célja, hogy megakadályozza az elavult olvasók hibáit a tömörítés vagy a partíció felülírása után.

Ennek az értéknek elég nagynak kell lennie ahhoz, hogy:

* Ez nagyobb, mint a feladat leghosszabb lehetséges időtartama, ha fut VACUUM , ha egyidejű olvasók vagy írók férnek hozzá a Delta táblához.
* Ha olyan streamelési lekérdezést futtat, amely a táblából olvas be, a lekérdezés nem áll le ennél az értéknél hosszabb ideig. Ellenkező esetben előfordulhat, hogy a lekérdezés nem tud újraindulni, mivel a régi fájlokat továbbra is be kell olvasnia.

Lásd: Adatmegőrzés konfigurálása időutazásos lekérdezésekhez.

Adattípus: CalendarInterval

Alapértelmezett: interval 1 week
delta.enableChangeDataFeed

true az adatcsatorna módosításának engedélyezéséhez.

Lásd: Változásadatcsatorna engedélyezése.

Adattípus: Boolean

Alapértelmezett: false
delta.enableDeletionVectors

true a törlési vektorok és a prediktív I/O engedélyezése a frissítésekhez.

Lásd: Mik azok a törlési vektorok?.

Adattípus: Boolean

Alapértelmezett: A munkaterület rendszergazdai beállításaitól és a Databricks Futtatókörnyezet verziójától függ. Lásd: Törlési vektorok automatikus engedélyezése
delta.isolationLevel

Annak mértéke, hogy egy tranzakciót milyen mértékben kell elkülöníteni az egyidejű tranzakciók által végrehajtott módosításoktól.

Az érvényes értékek a következők: Serializable és WriteSerializable.

Lásd: Elkülönítési szintek és írási ütközések az Azure Databricksben.

Adattípus: String

Alapértelmezett: WriteSerializable
delta.logRetentionDuration

Mennyi ideig tart egy Delta-tábla előzményei. VACUUM műveletek felülírják ezt a megőrzési küszöbértéket.

Minden alkalommal, amikor egy ellenőrzőpont meg van írva, a Delta Lake automatikusan törli a megőrzési időköznél régebbi naplóbejegyzéseket. Ha elég nagy értékre állítja ezt a tulajdonságot, a rendszer sok naplóbejegyzést megtart. Ez nem befolyásolhatja a teljesítményt, mivel a naplón végzett műveletek állandó időnek számítanak. Az előzmények műveletei párhuzamosak, de a naplóméret növekedésével egyre drágábbak lesznek.

Lásd: Adatmegőrzés konfigurálása időutazásos lekérdezésekhez.

Adattípus: CalendarInterval

Alapértelmezett: interval 30 days
delta.minReaderVersion

Az olvasó minimálisan szükséges protokollolvasó verziója, amely lehetővé teszi a Delta-táblázatból való olvasást.

A Databricks a tulajdonság manuális konfigurálását javasolja.

Lásd : Hogyan kezeli az Azure Databricks a Delta Lake-funkciók kompatibilitását?.

Adattípus: Int

Alapértelmezett: 1
delta.minWriterVersion

Az író minimálisan szükséges protokollírói verziója, amely lehetővé teszi, hogy ebbe a Delta-táblába írjon.

A Databricks a tulajdonság manuális konfigurálását javasolja.

Lásd : Hogyan kezeli az Azure Databricks a Delta Lake-funkciók kompatibilitását?.

Adattípus: Int

Alapértelmezett: 2
delta.randomizeFilePrefixes

true a Delta Lake számára, hogy partícióinformációk helyett véletlenszerű előtagot hozzon létre egy fájlútvonalhoz.

Adattípus: Boolean

Alapértelmezett: false
delta.randomPrefixLength

Ha delta.randomizeFilePrefixes be van állítva true, a Delta Lake által véletlenszerű előtagokhoz létrehozott karakterek száma.

Adattípus: Int

Alapértelmezett: 2
delta.setTransactionRetentionDuration

A legrövidebb időtartam, amelyen belül az új pillanatképek megőrzik a tranzakcióazonosítókat (például SetTransactionazokat). Ha egy új pillanatkép a tulajdonság által megadott időtartamnál régebbi vagy azzal egyenlő tranzakcióazonosítót lát, a pillanatkép lejártnak tekinti, és figyelmen kívül hagyja azt. Az SetTransaction azonosítót az írási idempotenssé tételkor használja a rendszer. Részletekért lásd : Idempotent table writes in foreachBatch .

Adattípus: CalendarInterval

Alapértelmezett: (nincs)
delta.targetFileSize

A célfájl mérete bájtban vagy nagyobb egységekben a fájlhangoláshoz. Például:
104857600 (bájt) vagy 100mb.

Lásd: A Delta Lake konfigurálása az adatfájlok méretének szabályozásához.

Adattípus: String

Alapértelmezett: (nincs)
delta.tuneFileSizesForRewrites

true a Delta tábla összes adatelrendezési optimalizálási műveletéhez mindig használjon kisebb fájlméreteket.

false hogy soha ne hangoljon alacsonyabb fájlméretekre, azaz ne aktiválódjon az automatikus észlelés.

Lásd: A Delta Lake konfigurálása az adatfájlok méretének szabályozásához.

Adattípus: Boolean

Alapértelmezett: (nincs)