Delta-tábla tulajdonságainak referenciája
A Delta Lake a Delta tábla tulajdonságait a delta.
-val kezdődően fenntartja. 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 a spark.databricks.delta.autoCompact.enabled
és spark.databricks.delta.optimizeWrite.enabled
konfigurációk, amelyek a táblázatszint helyett bekapcsolják az automatikus tömörítést és az optimalizált írásokat a SparkSession 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 konferencia | SparkSession conf |
---|---|
delta.<conf> |
spark.databricks.delta.properties.defaults.<conf> |
Ha például egy munkamenetben létrehozott új Delta Lake-tábla delta.appendOnly = true
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 SET TBLPROPERTIES.
Delta-tábla tulajdonságai
Az elérhető Delta-táblatulajdonságok a következők:
Tulajdonság |
---|
delta.appendOnly true , hogy a Delta-tábla csak hozzáadható 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 Delta-tábla tulajdonságaira vonatkozó referencia. Adattípus: Boolean Alapértelmezett: false |
delta.autoOptimize.autoCompact auto , hogy a Delta Lake automatikusan optimalizálja a Delta-tábla fájljainak 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 , hogy a Delta Lake automatikusan optimalizálja a Delta-táblázat fájljainak elrendezését az írások során.További információért lásd: Optimalizált írások a Delta Lake-hoz az Azure Databricksben. Adattípus: Boolean Alapértelmezett: (nincs) |
delta.checkpoint.writeStatsAsJson true , hogy a Delta Lake JSON formátumban írjon fájlstatisztikákat az stats oszlop ellenőrzőpontjaiba.Lásd: Az ellenőrzőpontok oszlopszintű statisztikáinak kezelése. Adattípus: Boolean Alapértelmezett: true |
delta.checkpoint.writeStatsAsStruct true , hogy a Delta Lake fájlstatisztikákat strukturált formátumban írjon az ellenőrzőpontokba a stats_parsed oszlophoz, és hogy a partícióértékeket strukturált formában írja a partitionValues_parsed -höz.Lásd: Az ellenőrzőpontok oszlopszintű statisztikáinak kezelése. 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éssel rendelkező táblák kompatibilitása. Adattípus: String Alapértelmezett: classic |
delta.columnMapping.mode Az alapján megállapítható, hogy engedélyezve van-e az oszlopképezés a Delta táblák oszlopaihoz és azokhoz a Parquet-oszlopokhoz, amelyek különböző elnevezést használnak. Lásd: Oszlopok átnevezése és elhagyása a Delta Lake oszlopleképezés alkalmazásával. Megjegyzés: A(z) delta.columnMapping.mode funkció engedélyezése automatikusan engedélyezidelta.randomizeFilePrefixes .Adattípus: DeltaColumnMappingMode Alapértelmezett: none |
delta.dataSkippingNumIndexedCols A Delta Lake azon oszlopainak a száma, amelyekről statisztikákat gyűjtenek az adatkihagyáshoz. A -1 érték az összes oszlop statisztikáinak gyűjtését jelenti.Lásd: Adatkihagyás a Delta Lake esetében. 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 állapotú olvasó programok 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:
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 a Változásadatcsatorna engedélyezése részt. 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 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 őrzik egy Delta-tábla történetét. 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 nem javasolja ennek a tulajdonságnak a manuális konfigurálását. Lásd: Hogyan kezeli az Azure Databricks a Delta Lake funkció kompatibilitását?. Adattípus: Int Alapértelmezett: 1 |
delta.minWriterVersion Az a minimálisan szükséges protokollírói verzió egy íróprogram számára, amely lehetővé teszi, hogy ebbe a Delta-táblába írjon. A Databricks nem javasolja a tulajdonság manuális konfigurálását. Lásd: Hogyan kezeli az Azure Databricks a Delta Lake funkció kompatibilitását?. Adattípus: Int Alapértelmezett: 2 |
delta.randomizeFilePrefixes true , hogy a Delta Lake véletlenszerű előtagot hozzon létre egy fájlútvonalhoz partícióadatok helyett.Adattípus: Boolean Alapértelmezett: false |
delta.randomPrefixLength Amikor a delta.randomizeFilePrefixes true értékre van állítva, az határozza meg a Delta Lake által véletlenszerű előtagokhoz generált karakterek számát.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 ). 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. A SetTransaction azonosítót a rendszer az írások idempotenssé tételére használja. Részletekért lásd idempotens táblaírásokat 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 , hogy mindig alacsonyabb fájlméreteket használjon a Delta tábla összes adatelrendezési optimalizálási műveletéhez.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) |