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 SET 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é teszidelta.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: - Nagyobb, mint a feladat leghosszabb lehetséges időtartama, ha a Delta-táblához egyidejűleg hozzáférő olvasók vagy írók futnak VACUUM .– Ha olyan streamelési lekérdezést futtat, amely a táblából olvas, 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 SetTransaction azokat). 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) |