Doporučení pro optimalizaci v Azure Databricks
Azure Databricks poskytuje mnoho optimalizací podporujících celou řadu úloh v jezeře, od rozsáhlého zpracování ETL až po ad hoc interaktivní dotazy. Mnohé z těchto optimalizací probíhají automaticky. Jejich výhody získáte jednoduše pomocí Azure Databricks. Kromě toho většina funkcí Databricks Runtime vyžaduje Delta Lake, výchozí formát používaný 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 zlepšuje výkon.
Vylepšení výkonu Databricks Runtime
Poznámka:
Nejnovější vylepšení výkonu můžete využít pomocí nejnovějšího modulu Databricks Runtime. Všechna zde zdokumentovaná chování jsou ve výchozím nastavení povolená ve službě Databricks Runtime 10.4 LTS a vyšší.
- Ukládání do mezipaměti na disku zrychluje opakované čtení datových souborů Parquet načtením dat na diskové svazky připojené ke výpočetním clusterům.
- Dynamické vyřezávání souborů zlepšuje výkon dotazů přeskakováním adresářů, které neobsahují datové soubory, které odpovídají predikátům dotazů.
- Sloučení s nízkým počtem shuffle snižuje počet datových souborů přepsaný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 zvýšení výkonu
- Tabulky v Azure Databricks můžete naklonovat , abyste mohli vytvářet hloubkové nebo mělké kopie zdrojových datových sad.
- Optimalizátor založený na nákladech zrychluje výkon dotazů díky využití statistik tabulek.
- Spark SQL můžete použít k interakci s řetězci JSON bez analýzy řetězců.
- Funkce vyššího pořadí poskytují integrovaný optimalizovaný výkon pro mnoho operací, které nemají běžné operátory Sparku. Vyšší funkce pořadí poskytují výhodu výkonu oproti uživatelem definovaným funkcím.
- 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.
- Nastavení spojení rozsahu můžete ručně ladit. Viz Optimalizace spojení rozsahu.
Chování výslovného souhlasu
- Azure Databricks poskytuje ve výchozím nastavení 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.