Dela via


Optimeringsrekommendationer för Azure Databricks

Azure Databricks tillhandahåller många optimeringar som stöder en mängd olika arbetsbelastningar på lakehouse, allt från storskalig ETL-bearbetning till ad hoc-interaktiva frågor. Många av dessa optimeringar sker automatiskt. Du får deras fördelar genom att använda Azure Databricks. Dessutom kräver de flesta Databricks Runtime-funktioner Delta Lake, standardformatet som används för att skapa tabeller i Azure Databricks.

Azure Databricks konfigurerar standardvärden som optimerar de flesta arbetsbelastningar. Men i vissa fall förbättrar ändrade konfigurationsinställningar prestanda.

Prestandaförbättringar för Databricks Runtime

Kommentar

Använd den senaste Databricks Runtime för att utnyttja de senaste prestandaförbättringarna. Alla beteenden som dokumenteras här är aktiverade som standard i Databricks Runtime 10.4 LTS och senare.

  • Diskcachelagring påskyndar upprepade läsningar mot Parquet-datafiler genom att läsa in data till diskvolymer som är anslutna till beräkningskluster.
  • Dynamisk filrensning förbättrar frågeprestanda genom att hoppa över kataloger som inte innehåller datafiler som matchar frågepredikat.
  • Låg blandningssammanslagning minskar antalet datafiler som skrivs om av åtgärder och minskar behovet av MERGE att återskapa ZORDER kluster.
  • Apache Spark 3.0 introducerade anpassningsbar frågekörning, vilket ger bättre prestanda för många åtgärder.

Databricks-rekommendationer för förbättrad prestanda

  • Du kan klona tabeller i Azure Databricks för att göra djupa eller grunda kopior av källdatauppsättningar.
  • Den kostnadsbaserade optimeraren påskyndar frågeprestanda genom att använda tabellstatistik.
  • Du kan använda Spark SQL för att interagera med halvstrukturerade JSON-data utan att parsa strängar.
  • Funktioner med högre ordning ger inbyggda, optimerade prestanda för många åtgärder som inte har vanliga Spark-operatorer. Funktioner med högre ordning ger en prestandafördel jämfört med användardefinierade funktioner.
  • Azure Databricks innehåller ett antal inbyggda operatorer och särskild syntax för att arbeta med komplexa datatyper, inklusive matriser, structs och JSON-strängar.
  • Du kan justera inställningarna för intervallkopplingar manuellt. Se Optimering av intervallkoppling.

Opt-in-beteenden

  • Azure Databricks tillhandahåller en skriv serialiserbar isoleringsgaranti som standard. Att ändra isoleringsnivån till serialiserbar kan minska dataflödet för samtidiga åtgärder, men kan vara nödvändigt när läs serialisering krävs.
  • Du kan använda bloom-filterindex för att minska sannolikheten för genomsökning av datafiler som inte innehåller poster som matchar ett visst villkor.