Dela via


Metodtips för beräkningskonfiguration

I den här artikeln beskrivs rekommendationer för att ange valfria beräkningskonfigurationer. För att minska konfigurationsbesluten rekommenderar Azure Databricks att dra nytta av både serverlösa beräknings- och beräkningsprinciper.

  • Serverlös beräkning kräver inte konfigurering av beräkningsinställningar. Serverlös beräkning är alltid tillgänglig och skalas enligt din arbetsbelastning. Se Typer av beräkning.

  • Med beräkningsprinciper kan du skapa förkonfigurerad beräkning som är utformad för specifika användningsfall som personlig beräkning, delad beräkning, power-användare och jobb. Kontakta administratören för arbetsytan om du inte har åtkomst till principerna. Se Standardprinciper och principfamiljer.

Om du väljer att skapa beräkning med dina egna konfigurationer innehåller avsnitten nedan rekommendationer för vanliga användningsfall.

Kommentar

Den här artikeln förutsätter att du har obegränsad klusterskapande. Arbetsyteadministratörer bör endast bevilja den här behörigheten till avancerade användare.

Överväganden för beräkningsstorlek

Personer tänker ofta på beräkningsstorlek när det gäller antalet arbetare, men det finns andra viktiga faktorer att tänka på:

  • Totalt antal körkärnor (beräkning): Det totala antalet kärnor för alla utförare. Detta avgör den maximala parallelliteten för en beräkning.
  • Totalt körminne: Den totala mängden RAM-minne för alla utförare. Detta avgör hur mycket data som kan lagras i minnet innan de sprids till disken.
  • Lokal körningslagring: Typ och mängd lokal disklagring. Lokal disk används främst vid spill under blandningar och cachelagring.

Ytterligare överväganden är typen och storleken på arbetsinstansen, som också påverkar faktorerna ovan. När du ändrar storlek på din beräkning bör du tänka på:

  • Hur mycket data kommer din arbetsbelastning att förbruka?
  • Vilken beräkningskomplexitet har din arbetsbelastning?
  • Var läser du data från?
  • Hur partitioneras data i extern lagring?
  • Hur mycket parallellitet behöver du?

Om du svarar på dessa frågor kan du avgöra optimala beräkningskonfigurationer baserat på arbetsbelastningar.

Det finns en balansakt mellan antalet arbetare och storleken på arbetsinstanstyper. Att konfigurera beräkning med två arbetare, var och en med 16 kärnor och 128 GB RAM-minne, har samma beräkning och minne som att konfigurera beräkning med 8 arbetare, var och en med 4 kärnor och 32 GB RAM-minne.

Exempel på beräkningsstorlek

I följande exempel visas beräkningsrekommendationer baserat på specifika typer av arbetsbelastningar. De här exemplen omfattar även konfigurationer att undvika och varför dessa konfigurationer inte är lämpliga för arbetsbelastningstyperna.

Dataanalys

Dataanalytiker utför vanligtvis bearbetning som kräver data från flera partitioner, vilket leder till många shuffle-åtgärder. Beräkning med ett mindre antal noder kan minska nätverket och disk-I/O som behövs för att utföra dessa blandningar.

Om du bara skriver SQL är det bästa alternativet för dataanalys ett serverlöst SQL-lager.

Kommentar

Om din arbetsyta är aktiverad för den serverlösa offentliga förhandsversionen av beräkning kan du använda serverlös beräkning för att köra analys i Python eller SQL. Se Serverlös beräkning för notebook-filer.

Om du måste konfigurera en ny beräkning är en beräkning med en enda nod med en stor VM-typ förmodligen det bästa valet, särskilt för en enskild analytiker.

Analytiska arbetsbelastningar kräver sannolikt att samma data läss upprepade gånger, så rekommenderade nodtyper är lagringsoptimerade med diskcache aktiverat.

Ytterligare funktioner som rekommenderas för analytiska arbetsbelastningar är:

  • Aktivera automatisk avslutning för att säkerställa att beräkningen avslutas efter en period av inaktivitet.
  • Överväg att aktivera automatisk skalning baserat på analytikerns typiska arbetsbelastning.
  • Överväg att använda pooler, vilket gör det möjligt att begränsa beräkning till förgodkända instanstyper och säkerställa konsekventa beräkningskonfigurationer.

Grundläggande batch-ETL

Kommentar

Om din arbetsyta är aktiverad för serverlös beräkning för arbetsflöden (offentlig förhandsversion) kan du använda serverlös beräkning för att köra dina jobb. Se Serverlös beräkning för notebook-filer.

Enkla batch-ETL-jobb som inte kräver breda omvandlingar, till exempel kopplingar eller sammansättningar, drar vanligtvis nytta av beräkningsoptimerade arbetstyper.

Beräkningsoptimerade arbetare har lägre krav på minne och lagring och kan leda till kostnadsbesparingar jämfört med andra arbetstyper.

Komplex batch-ETL

Kommentar

Om din arbetsyta är aktiverad för serverlös beräkning för arbetsflöden (offentlig förhandsversion) kan du använda serverlös beräkning för att köra dina jobb. Se Serverlös beräkning för notebook-filer.

För ett komplext ETL-jobb, till exempel ett som kräver fackföreningar och kopplingar mellan flera tabeller, rekommenderar Databricks att minska antalet arbetare för att minska mängden data som blandas.

Komplexa omvandlingar kan vara beräkningsintensiva. Om du ser betydande spill på disk- eller OOM-fel bör du lägga till ytterligare noder.

Databricks rekommenderar beräkningsoptimerade arbetstyper. Beräkningsoptimerade arbetare har lägre krav på minne och lagring och kan leda till kostnadsbesparingar jämfört med andra arbetstyper. Du kan också använda pooler för att minska beräkningens starttider och minska den totala körningen när du kör jobbpipelines.

Träna maskininlärningsmodeller

Databricks rekommenderar beräkning av en enskild nod med en stor nodtyp för inledande experimentering med maskininlärningsmodeller för träning. Att ha färre noder minskar effekten av blandningar.

Att lägga till fler arbetare kan hjälpa till med stabiliteten, men du bör undvika att lägga till för många arbetare på grund av omkostnaderna för att blanda data.

Rekommenderade arbetstyper är lagringsoptimerade med diskcachelagring aktiverat för att ta hänsyn till upprepade läsningar av samma data och för att aktivera cachelagring av träningsdata. Om de beräknings- och lagringsalternativ som tillhandahålls av lagringsoptimerade noder inte räcker bör du överväga GPU-optimerade noder. En möjlig nackdel är bristen på stöd för diskcachelagring med dessa noder.

Ytterligare funktioner som rekommenderas för maskininlärningsarbetsbelastningar är:

  • Aktivera automatisk avslutning för att säkerställa att beräkningen avslutas efter en period av inaktivitet.
  • Använd pooler, vilket gör det möjligt att begränsa beräkning till förgodkända instanstyper och säkerställa konsekventa beräkningskonfigurationer.