Dela via


Metodtips för pooler

Den här artikeln förklarar vad pooler är och hur du bäst kan konfigurera dem. Information om hur du skapar en pool finns i Referens för poolkonfiguration.

Kommentar

Om din arbetsbelastning stöder serverlös beräkning rekommenderar Databricks att du använder serverlös beräkning i stället för pooler för att dra nytta av alltid på, skalbar beräkning. Se Ansluta till serverlös beräkning.

Poolöverväganden

Tänk på följande när du skapar en pool:

  • Skapa pooler med hjälp av instanstyper och Azure Databricks-körningar baserat på målarbetsbelastningar.
  • Fyll i pooler med oanvända instanser när det är möjligt för att minska kostnaderna. Använd endast skalningspooler för oanvänd kapacitet som arbetsnoder. Din drivrutinsnod bör använda instanser på begäran.
  • Fyll i pooler med instanser på begäran för jobb med korta körningstider och strikta krav på körningstid.
  • Använd pooltaggar och klustertaggar för att hantera fakturering.
  • Fyll i pooler i förväg för att se till att instanser är tillgängliga när kluster behöver dem.

Skapa pooler baserat på arbetsbelastningar

Du kan minimera instanshämtningstiden genom att skapa en pool för varje instanstyp och Azure Databricks-körning som din organisation ofta använder. Om de flesta datateknikkluster till exempel använder instanstyp A, använder datavetenskapskluster instanstyp B och analyskluster använder instanstyp C skapar du en pool med varje instanstyp.

Använda instanspooler för oanvänd kapacitet

Om drivrutinsnoden och arbetsnoderna har olika krav använder du olika pooler för var och en.

Azure Databricks rekommenderar att du inte använder instanser av oanvänd kapacitet för din drivrutinsnod. Om du använder en spotpool för arbetsnoden väljer du en on-demand-pool som din drivrutinstyp.

Konfigurera pooler att använda instanser på begäran för jobb med korta körningstider och strikta krav på körningstid. Använd instanser på begäran för att förhindra att förvärvade instanser går förlorade till en högre budgivare på spotmarknaden.

Konfigurera pooler för att använda oanvända instanser för kluster som stöder interaktiv utveckling eller jobb som prioriterar kostnadsbesparingar framför tillförlitlighet.

Tagga pooler för att hantera kostnader och fakturering

Genom att tagga pooler till rätt kostnadsställe kan du hantera kostnads- och användningsåterställning. Du kan använda flera anpassade taggar för att associera flera kostnadsställen till en pool. Det är dock viktigt att förstå hur taggar sprids när ett kluster skapas från pooler. Taggar från pooler sprids till de underliggande molnproviderinstanserna, men det gör inte klustrets taggar. Tillämpa alla anpassade taggar som krävs för att hantera återbetalning av molnleverantörens beräkningskostnad för poolen.

Både pooltaggar och klustertaggar sprids till Azure Databricks-fakturering. Du kan använda kombinationen av kluster- och pooltaggar för att hantera återbetalning av Azure Databricks-enheter.

Mer information finns i Attributanvändning med hjälp av taggar.

Konfigurera pooler för att kontrollera kostnaden

Du kan använda följande konfigurationsalternativ för att styra kostnaden för pooler:

  • Ange Min Idle instanser till 0 för att undvika att betala för instanser som körs utan att utföra arbete. Kompromissen är en möjlig ökning i tiden när ett kluster behöver skaffa en ny instans.
  • Ange maximal kapacitet baserat på förväntad användning. Detta anger taket för det maximala antalet använda och inaktiva instanser i poolen. Om ett jobb eller kluster begär en instans från en pool med maximal kapacitet misslyckas begäran och klustret hämtar inte fler instanser. Därför rekommenderar Databricks att du anger maximal kapacitet endast om det finns en strikt instanskvot eller budgetbegränsning.
  • Ange tidsgränsen för automatisk avslutning av en inaktiv instans för att skapa en buffert mellan att instansen släpps från klustret och tas bort från poolen. Ange detta till en period som gör att du kan minimera kostnaderna samtidigt som du säkerställer tillgängligheten för instanser för schemalagda jobb. Till exempel är jobb A schemalagt att köras kl. 08:00 och tar 40 minuter att slutföra. Jobb B är schemalagt att köras kl. 09:00 och tar 30 minuter att slutföra. Ange värdet för automatisk avslutning av inaktiv instans till 20 minuter för att säkerställa att instanser som returneras till poolen när jobb A slutförs är tillgängliga när jobb B startar. Om de inte begärs av ett annat kluster avslutas dessa instanser 20 minuter efter att jobb B har upphört.

Fyll i pooler i förväg

Om du vill dra full nytta av pooler kan du fylla i nyligen skapade pooler i förväg. Ange Minsta antal inaktiva instanser i konfigurationen för pool som är större än noll. Om du följer rekommendationen att ange värdet till noll kan du också använda ett startjobb för att säkerställa att nyligen skapade pooler har tillgängliga instanser för kluster att komma åt.

Med startjobbsmetoden schemalägger du ett jobb med flexibla körningstidskrav som ska köras före jobb med strängare prestandakrav eller innan användarna börjar använda interaktiva kluster. När jobbet är klart släpps de instanser som används för jobbet tillbaka till poolen. Ange inställningen Minsta inaktiva instans till 0 och ställ in tiden för automatisk avslutning av inaktiv instans tillräckligt högt så att de inaktiva instanserna förblir tillgängliga för efterföljande jobb.

Med hjälp av ett startjobb kan poolinstanserna starta, fylla i poolen och förbli tillgängliga för underordnade jobb eller interaktiva kluster.