Doporučení k optimalizaci pro Azure Databricks
Azure Databricks poskytuje řadu optimalizací podporujících celou řadu úloh v lakehouse, od rozsáhlého zpracování ETL až po ad hoc interaktivní dotazy. Mnoho z těchto optimalizací probíhá automaticky. Jejich výhody získáte jednoduše pomocí Azure Databricks. Většina funkcí databricks Runtime navíc vyžaduje Delta Lake, výchozí vrstvu úložiště, která se používá k vytváření tabulek v Azure Databricks.
Azure Databricks konfiguruje výchozí hodnoty, které optimalizují většinu úloh. V některých případech ale změna nastavení konfigurace zvýší výkon.
Vylepšení výkonu databricks Runtime
Poznámka
Využijte nejnovější databricks Runtime k využití nejnovějších vylepšení výkonu. Všechna zde uvedená chování jsou ve výchozím nastavení povolená v Databricks Runtime 10.4 LTS a novějších verzích.
- Ukládání do mezipaměti na disku zrychluje opakované čtení datových souborů Parquet tím, že načítá data na diskové svazky připojené k výpočetním clusterům.
- Dynamické vyřazení souborů zlepšuje výkon dotazů tím, že přeskočí adresáře, které neobsahují datové soubory, které odpovídají predikátům dotazů.
- Malé sloučení shuffle snižuje počet datových souborů přepsáných operacemi
MERGE
a snižuje potřebu přepsatZORDER
clustery. - Apache Spark 3.0 zavedl adaptivní spouštění dotazů, které poskytuje vyšší výkon pro mnoho operací.
Doporučení Databricks pro vyšší výkon
- V Azure Databricks můžete klonovat tabulky a vytvářet tak hluboké nebo mělké kopie zdrojových datových sad.
- Optimalizátor založený na nákladech zrychluje výkon dotazů tím, že využívá statistiky tabulek.
- Spark SQL můžete použít k interakci s částečně strukturovanými daty JSON bez parsování řetězců.
- Funkce vyššího pořadí poskytují integrovaný a optimalizovaný výkon pro mnoho operací, které nemají běžné operátory Sparku. Funkce vyššího pořadí poskytují výhodu výkonu oproti funkcím definovaným uživatelem.
- Azure Databricks poskytuje řadu předdefinovaných operátorů a speciální syntaxi pro práci se složitými datovými typy, včetně polí, struktur a řetězců JSON.
- Můžete ručně ladit nastavení spojení, která zahrnují oblasti nebo obsahují data s dílčí nerovnoměrnou nerovnoměrnou distribuci.
Chování výslovného souhlasu
- Azure Databricks ve výchozím nastavení poskytuje záruku serializovatelné izolace zápisu. Změna úrovně izolace na serializovatelnou může snížit propustnost pro souběžné operace, ale může být nutná, pokud je vyžadována serializovatelnost čtení.
- Indexy filtru bloom můžete použít ke snížení pravděpodobnosti skenování datových souborů, které neobsahují záznamy odpovídající dané podmínce.