Dinamikus fájltörlés
A dinamikus fájlmetszet jelentősen javíthatja számos lekérdezés teljesítményét a Delta Lake-táblákon. Dinamikus fájlmetszet-eseményindítók szűrőkivonatokat vagy WHERE
záradékokat tartalmazó lekérdezésekhez. A dinamikus fájlmetszetet a Photon-kompatibilis számítással kell használnia a , UPDATE
és DELETE
utasítások dinamikus fájlmetszetéhezMERGE
. Csak SELECT
az utasítások használják a dinamikus fájlmetszetet, ha a Photon nincs használatban.
A dinamikus fájlmetszet különösen hatékony a nem particionált táblák vagy a nem particionált oszlopok illesztései esetében. A dinamikus fájlmetszet teljesítményhatása gyakran összefügg az adatok fürtözésével, ezért érdemes a Z-Ordering használatával maximalizálni az előnyöket.
A dinamikus fájlmetszet háttér- és használati eseteit a Delta Lake gyorsabb SQL-lekérdezései dinamikus fájlmetszettel című témakörben talál.
Konfiguráció
A dinamikus fájlmetszetet a következő Apache Spark-konfigurációs beállítások vezérlik:
spark.databricks.optimizer.dynamicFilePruning
(alapértelmezés:true
): A fő jelző, amely a szűrők leküldésére irányítja az optimalizálót. Ha be vanfalse
állítva, a dinamikus fájlmetszet nem lesz érvényben.spark.databricks.optimizer.deltaTableSizeThreshold
(alapértelmezés:10,000,000,000 bytes (10 GB)
): A dinamikus fájlmetszet indításához szükséges illesztés mintavételi oldalán található Delta-tábla minimális méretét (bájtban) jelöli. Ha a mintavételi oldal nem túl nagy, valószínűleg nem érdemes leküldni a szűrőket, és egyszerűen csak beolvashatjuk az egész táblázatot. A Delta-tábla méretét a parancs futtatásávalDESCRIBE DETAIL table_name
, majd azsizeInBytes
oszlop megjelenítésével találja meg.spark.databricks.optimizer.deltaTableFilesThreshold
(alapértelmezés:10
): A dinamikus fájlmetszet indításához szükséges illesztés mintavételi oldalán található Delta-tábla fájljainak számát jelöli. Ha a mintavételoldali tábla kevesebb fájlt tartalmaz, mint a küszöbérték, a rendszer nem aktiválja a dinamikus fájlmetszetet. Ha egy tábla csak néhány fájllal rendelkezik, valószínűleg nem érdemes engedélyezni a dinamikus fájlmetszetet. A Delta-tábla méretét a parancs futtatásávalDESCRIBE DETAIL table_name
, majd aznumFiles
oszlop megjelenítésével találja meg.