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 dinamikus fájlmetszet jelentősen javíthatja számos lekérdezés teljesítményét a Delta Lake-táblákon. A lekérdezésoptimalizáló dinamikus fájlmetszetet aktivál a szűrőkivonatokat vagy WHERE záradékokat tartalmazó lekérdezések esetében. A dinamikus fájlszűrés a MERGE, UPDATE és DELETE utasításokban Photon-kompatibilis számítási környezetet igényel. A SELECT utasítások esetében a Photon átfogóbb és megbízhatóbb dinamikus fájlszűrést biztosít. Photon nélkül a dinamikus fájlkizárás továbbra is alkalmazható a SELECT utasításokra, a lekérdezés formájától és a végrehajtási tervtől függően.
A fájlok dinamikus törlése különösen hatékony a nem particionált táblák vagy a nem particionált oszlopokon történő illesztések esetében. A dinamikus fájlmetszés teljesítményhatása gyakran korrelál az adatok fürtözésével, ezért érdemes lehet a folyékony fürtözést alkalmazni az előny maximalizálása érdekében. Lásd: Táblákhoz folyékony klaszterezés használata.
A dinamikus fájlritkítás hátterét és alkalmazási eseteit lásd a Gyorsabb SQL-lekérdezések a Delta Lake-en dinamikus fájlritkítással című részben.
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 szerinttrue): Az a fő zászló, amely az optimalizálót a szűrők leküldésére irányítja. Hafalseértékre van állítva, a dinamikus fájlmetszet nem lesz érvényben. -
spark.databricks.optimizer.deltaTableSizeThreshold(az alapértelmezett érték10,000,000,000 bytes (10 GB)): Az összekapcsolás átszúró oldalán a Delta tábla minimális méretét (bájtban) jelöli, amely a dinamikus fájl lemetszéséhez szükséges. Ha a mintavételi oldal nem túl nagy, valószínűleg nem érdemes alkalmazni a szűrőket, és egyszerűen csak beolvashatjuk a teljes táblát. A Delta-tábla méretét aDESCRIBE DETAIL table_nameparancs futtatásával, majd asizeInBytesoszlop megjelenítésével találja meg. -
spark.databricks.optimizer.deltaTableFilesThreshold(az alapértelmezett érték10): 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 aDESCRIBE DETAIL table_nameparancs futtatásával, majd anumFilesoszlop megjelenítésével találja meg.