Optimeringsrekommendationer för Azure Databricks

Azure Databricks tillhandahåller många optimeringar som stöder en mängd olika arbetsbelastningar i Lakehouse, allt från storskalig ETL-bearbetning till ad hoc- och interaktiva frågor. Många av dessa optimeringar sker automatiskt. Du får deras fördelar genom att helt enkelt använda Azure Databricks. Dessutom kräver de flesta Databricks Runtime-funktioner Delta Lake, det standardlagringslager 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ättras prestandan genom att ändra konfigurationsinställningarna.

Prestandaförbättringar för Databricks Runtime

Observera

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 optimeringen 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 manuellt för kopplingar som innehåller intervall eller innehåller data med substanial skevhet.

Anmäl dig till beteenden

  • Azure Databricks tillhandahåller som standard en garanti för serialiserbar isolering för skrivning. Om du ändrar isoleringsnivån till serialiserbar kan du minska dataflödet för samtidiga åtgärder, men det kan vara nödvändigt när lässerialisering 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.