Optimalizálási javaslatok az Azure Databricksben
Az Azure Databricks számos optimalizálást biztosít, amelyek számos számítási feladatot támogatnak a lakehouse-ban, a nagy léptékű ETL-feldolgozástól az alkalmi, interaktív lekérdezésekig. Ezen optimalizálások közül sok automatikusan történik. Az előnyöket egyszerűen az Azure Databricks használatával érheti el. Emellett a Databricks Futtatókörnyezet legtöbb funkciója megköveteli a Delta Lake-t, amely az Azure Databricksben a táblák létrehozásához használt alapértelmezett formátum.
Az Azure Databricks a legtöbb számítási feladatot optimalizáló alapértelmezett értékeket konfigurálja. Bizonyos esetekben azonban a konfigurációs beállítások módosítása javítja a teljesítményt.
A Databricks runtime teljesítménybeli fejlesztései
Feljegyzés
A legújabb Databricks Runtime használatával kihasználhatja a legújabb teljesítménybeli fejlesztéseket. Az itt dokumentált összes viselkedés alapértelmezés szerint engedélyezve van a Databricks Runtime 10.4 LTS és újabb verziókban.
- A lemezgyorsítótár felgyorsítja a Parquet-adatfájlok ismételt olvasását azáltal, hogy adatokat tölt be a számítási csomópontokhoz csatlakoztatott lemezkötetekbe.
- A dinamikus fájlmetszet azáltal javítja a lekérdezés teljesítményét, hogy kihagyja azokat a könyvtárakat, amelyek nem tartalmaznak olyan adatfájlokat, amelyek megfelelnek a lekérdezési predikátumoknak.
-
Az alacsony egyesítés csökkenti a műveletek által
MERGE
újraírt adatfájlok számát, és csökkenti a fürtök újrabontásánakZORDER
szükségességét. - Az Apache Spark 3.0 adaptív lekérdezés-végrehajtást vezetett be, amely több művelethez is jobb teljesítményt nyújt.
A Databricks javaslatai a jobb teljesítmény érdekében
- Az Azure Databricksben táblákat klónozhat
a forrásadatkészletek mély vagy sekély másolatának létrehozásához. - A költségalapú optimalizáló a táblastatisztikák használatával felgyorsítja a lekérdezési teljesítményt.
- A Spark SQL használatával sztringek elemzése nélkül használhatja a JSON-sztringeket.
- A magasabb rendű függvények beépített, optimalizált teljesítményt biztosítanak számos olyan művelethez, amely nem rendelkezik közös Spark-operátorok használatával. A magasabb rendű függvények teljesítménybeli előnyt biztosítanak a felhasználó által definiált függvényekkel szemben.
- Az Azure Databricks számos beépített operátort és speciális szintaxist biztosít az összetett adattípusok, például tömbök, szerkezetek és JSON-sztringek kezeléséhez.
- A tartományillesztések beállításait manuálisan is finomhangolhatja. Lásd: Tartományillesztés optimalizálása.
Bejelentkezési viselkedések
- Az Azure Databricks alapértelmezés szerint írható szerializálható elkülönítési garanciát biztosít; Az elkülönítési szint szerializálhatóra történő módosítása csökkentheti az egyidejű műveletek átviteli sebességét, de szükség lehet az olvasási szerializálhatóságra.
- A kinyíló szűrőindexek használatával csökkentheti az adott feltételnek megfelelő rekordokat nem tartalmazó adatfájlok vizsgálatának valószínűségét.