Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Delta Lake- és Apache Iceberg-táblák táblatulajdonságokkal konfigurálják a viselkedést és a funkciókat, beleértve az adatelrendezést, a fájlméretet, az adatok kihagyását, az elkülönítési szintet és az adatcsatorna módosítását.
Note
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.
Táblatulajdonságok módosítása
A meglévő táblák táblatulajdonságainak módosításához használja SET TBLPROPERTIES.
Delta és Iceberg tulajdonságelőtagok
A Delta Lake és az Apache Iceberg táblák azonos táblatulajdonság-neveket használnak, de különböző előtagokat igényelnek:
-
Delta Lake-táblák: Az
delta.előtag használata -
Jéghegytáblák: Az
iceberg.előtag használata
Például a törlési vektorok engedélyezése egy táblán:
Delta-tó
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
Iceberg-tábla
ALTER TABLE <table-name> SET TBLPROPERTIES ('iceberg.enableDeletionVectors' = true);
Táblatulajdonságok és SparkSession tulajdonságok
Minden tábla saját táblázattulajdonságokat tartalmaz, amelyek szabályozzák a viselkedését. Egyes SparkSession konfigurációk mindig felülbírálják a táblatulajdonságokat. Például autoCompact.enabled , és optimizeWrite.enabled engedélyezze az automatikus tömörítést és az optimalizált írásokat a SparkSession szinten. A Databricks a legtöbb számítási feladathoz tábla hatókörű konfigurációkat javasol.
Az új táblák SparkSession alapértelmezett értékeit konfigurációkkal állíthatja be. Ezek az alapértelmezett értékek csak az új táblákra vonatkoznak, és nem érintik a meglévő táblatulajdonságokat.
SparkSession A konfigurációk a táblatulajdonságoktól eltérő előtagot használnak, ahogyan az az alábbi táblázatban látható:
| Tábla tulajdonság |
SparkSession konfigurációja |
|---|---|
delta.<conf>iceberg.<conf> |
spark.databricks.delta.properties.defaults.<conf>spark.databricks.iceberg.properties.defaults.<conf> |
Ha például a appendOnly = true munkamenetben létrehozott összes új tábla tulajdonságát szeretné beállítani, állítsa be a következőket:
Delta-tó
SET spark.databricks.delta.properties.defaults.appendOnly = true
Iceberg-tábla
SET spark.databricks.iceberg.properties.defaults.appendOnly = true
Táblatulajdonságok
Az alábbi táblázattulajdonságok többsége a Delta Lake és az Apache Iceberg táblákhoz is elérhető, kivéve, ha vannak. Használja a delta. Delta Lake-táblák előtagot és iceberg. az Iceberg-táblák előtagot.
| Property | Description |
|---|---|
autoOptimize.optimizeWrite |
true a táblázat fájljainak elrendezésének automatikus optimalizálása írás közben.Lásd : Optimalizált írások. Adattípus: BooleanAlapértelmezett: (nincs) |
dataSkippingNumIndexedCols |
Az adatok kihagyására vonatkozó statisztikák gyűjtésére szolgáló oszlopok száma. A -1 érték az összes oszlop statisztikáinak gyűjtését jelenti.Lásd Adatkihagyás. Adattípus: IntAlapértelmezett: 32 |
dataSkippingStatsColumns |
Az oszlopnevek vesszővel tagolt listája, amelyen statisztikákat gyűjthet az adatok kihagyási funkciójának javítása érdekében. Ez a tulajdonság elsőbbséget élvez a dataSkippingNumIndexedCols.Lásd Adatkihagyás. Adattípus: StringAlapértelmezett: (nincs) |
deletedFileRetentionDuration |
A logikailag törölt adatfájlok fizikai törlése előtti megőrzésének legrövidebb időtartama. Ez megakadályozza az elavult olvasók meghibásodását a tömörítés vagy a partíció felülírása után. A Databricks az alapértelmezett 7 napos vagy annál magasabb értéket javasolja. Ha a megőrzési időszak túl rövid, előfordulhat, hogy a hosszú ideig futó feladatok a feladat befejezése előtt törölték a nem véglegesített fájlokat. Lásd: Adatmegőrzés konfigurálása időutazásos lekérdezésekhez. Adattípus: CalendarIntervalAlapértelmezett: interval 1 week |
enableDeletionVectors |
true a törlési vektorok és a prediktív I/O engedélyezése a frissítésekhez.Lásd a Databricks törlési vektorait és a törlési vektorok engedélyezését. Adattípus: BooleanAlapé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. |
logRetentionDuration |
Mennyi ideig őrizze meg egy tábla előzményeit.
VACUUM műveletek felülírják ezt a megőrzési küszöbértéket.A Databricks minden ellenőrzőpont írásakor automatikusan törli a megőrzési időköznél régebbi naplóbejegyzéseket. Ha ezt a tulajdonságot nagy értékre állítja, számos naplóbejegyzés marad meg. Ez nem befolyásolja a teljesítményt, mert a naplón végzett műveletek állandó időnek számítanak. A múltbéli rekordok műveletei párhuzamosak, de a napló méretének növekedésével egyre költségesebbek lesznek. Lásd: Adatmegőrzés konfigurálása időutazásos lekérdezésekhez. Adattípus: CalendarIntervalAlapértelmezett: interval 30 days |
minReaderVersion (Csak Delta Lake) |
A táblázatból való olvasáshoz minimálisan szükséges protokollolvasó verzió. A Databricks nem javasolja ennek a tulajdonságnak a manuális konfigurálását. Lásd a Delta Lake szolgáltatáskompatibilitását és protokolljait. Adattípus: IntAlapértelmezett: 1 |
minWriterVersion (Csak Delta Lake) |
A táblába íráshoz minimálisan szükséges protokollíró-verzió. A Databricks nem javasolja ennek a tulajdonságnak a manuális konfigurálását. Lásd a Delta Lake szolgáltatáskompatibilitását és protokolljait. Adattípus: IntAlapértelmezett: 2 |
format-version (Csak Apache Iceberg által felügyelt táblák) |
Az Iceberg tábla formátumának verziója. A Databricks nem javasolja ennek a tulajdonságnak a manuális konfigurálását. Lásd: Apache Iceberg v3-funkciók használata. Adattípus: IntAlapértelmezett: 2 |
randomizeFilePrefixes |
true egy fájlútvonal véletlenszerű előtagjának létrehozása partícióadatok helyett.Adattípus: BooleanAlapértelmezett: false |
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: Adatfájl méretének szabályozása. Adattípus: StringAlapértelmezett: (nincs) |
parquet.compression.codec |
Egy tábla tömörítési kodekje. Érvényes értékek: ZSTD, SNAPPY, GZIP, LZ4BROTLI ( a támogatás formátumonként változik)Ez a tulajdonság biztosítja, hogy a tábla összes jövőbeli írása a kiválasztott kodekkel történjen, felülírva a fürt vagy a munkamenet alapértelmezését ( spark.sql.parquet.compression.codec). Az egyszeri DataFrame-beállítások .write.option("compression", "...") azonban továbbra is elsőbbséget élveznek. A Databricks Runtime 16.0-s és újabb verzióiban érhető el. Vegye figyelembe, hogy a meglévő fájlok nem lesznek automatikusan újraírva. A meglévő adatok újratömörítéséhez a választott formátummal használja a OPTIMIZE table_name FULL parancsot.Adattípus: StringAlapértelmezett: ZSTD |
parquet.format.version (Csak Delta Lake) |
Az adatfájlok írásához használt Parquet formátumverzió. Ha ezt úgy állítja be, hogy lehetővé teszi a 2.12.0 speciális kódolást, a v2-adatoldal fejlécét és INT64 az időbélyegeket, ami javíthatja a lekérdezési teljesítményt és csökkentheti a tárterület-terhelést.Az érvényes értékek az 1.0.02.12.0Apache Parquet formátumból származó kiadásoknak felelnek meg.Ez a tulajdonság beállítható Delta Lake- és Apache Iceberg-táblákon. Előfordulhat, hogy egyes OSS Iceberg-olvasók nem támogatják a Parquet v2 kódolást. Lásd Korlátozások. Lásd: Parquet v2. Adattípus: StringAlapértelmezett: 1.0.0 |
appendOnly |
true annak érdekében, hogy a tábla csak hozzáfűzhető legyen. A csak hozzáfűző táblák nem teszik lehetővé a meglévő rekordok törlését és a meglévő értékek frissítését.Adattípus: BooleanAlapértelmezett: false |
autoOptimize.autoCompact |
A kisebb fájlproblémák csökkentése érdekében automatikusan egyesíti a kis méretű fájlokat a táblapartíciókban.
auto Elfogadja (ajánlott), truelegacyvagy false.Lásd : Automatikus tömörítés. Adattípus: StringAlapértelmezett: (nincs) |
checkpoint.writeStatsAsJson |
true fájlstatisztikák írása ellenőrzőpontokba JSON formátumban az stats oszlophoz.Adattípus: BooleanAlapértelmezett: false |
checkpoint.writeStatsAsStruct |
true fájlstatisztikák írása ellenőrzőpontokba strukturált formátumban az stats_parsed oszlop számára, és partícióértékek írása partitionValues_parsed struktúraként.Adattípus: BooleanAlapértelmezett: true |
checkpointPolicy |
classic klasszikus ellenőrzőpontokhoz.
v2 v2 ellenőrzőpontokhoz.Lásd a 2. ellenőrzőpontot és a folyékony fürtözést tartalmazó táblák kompatibilitását. Adattípus: StringAlapértelmezett: classic |
columnMapping.mode |
Lehetővé teszi a táblázatoszlopok és a megfelelő, különböző neveket használó Parquet-oszlopok oszlopleképezését. Az érvényes értékek a következők: none, nameés id.Lásd: Oszlopok átnevezése és elhagyása a Delta Lake oszlopleképezés alkalmazásával. Megjegyzés: A columnMapping.mode bekapcsolása automatikusan bekapcsolja a randomizeFilePrefixes-t.Adattípus: DeltaColumnMappingModeAlapértelmezett: none |
compatibility.symlinkFormatManifest.enabled (Csak Delta Lake) |
true a Delta Lake-tábla konfigurálásához, hogy a tábla összes írási művelete automatikusan frissítse a jegyzékfájlokat.Adattípus: BooleanAlapértelmezett: false |
enableChangeDataFeed |
true az adatcsatorna módosításának engedélyezéséhez.Lásd: Változásadatcsatorna használata. Adattípus: BooleanAlapértelmezett: false |
enableTypeWidening |
true a típuskiszélesítés engedélyezéséhez.Lásd típusbővítés. Adattípus: BooleanAlapértelmezett: false |
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 (WriteSerializable és Szerializálható). Adattípus: StringAlapértelmezett: WriteSerializable |
randomPrefixLength |
A véletlenszerű előtagokhoz létrehozandó karakterek száma, ha randomizeFilePrefixes az .trueAdattípus: IntAlapértelmezett: 2 |
setTransactionRetentionDuration |
A legrövidebb időtartam, amelyen belül az új pillanatképek megőrzik a tranzakcióazonosítókat (például SetTransactionazokat). Az új pillanatképek lejárnak, és figyelmen kívül hagyják a tulajdonság által megadott időtartamnál régebbi vagy azzal egyenlő tranzakcióazonosítókat. Az SetTransaction azonosítót akkor használjuk, amikor az írásokat idempotenssé akarjuk tenni. Részletekért lásd: Idempotens táblaírások használataforeachBatch.Adattípus: CalendarIntervalAlapértelmezett: (nincs) |