Metodtips: 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 Skapa en pool.

Vad är Azure Databricks-pooler?

Azure Databricks-pooler är en uppsättning inaktiva instanser som är redo att användas. När klusternoder skapas med inaktiva instanser minskas tiden för klusterstart och automatisk skalning. Om det inte finns några inaktiva instanser i poolen expanderas den genom att en ny instans från instansleverantören allokeras för att hantera klustrets begäran. När ett kluster släpper en instans återgår instansen till poolen och kan sedan användas av ett annat kluster. Endast kluster som är anslutna till en pool kan använda de aktiva instanserna i poolen.

Du kan ange en annan pool för drivrutinsnoden och arbetsnoderna eller använda samma pool för båda.

Azure Databricks debiterar inte DBU när instanser är inaktiva i poolen. Faktureringen för instansprovidern gäller. Se priser.

Du kan hantera pooler med hjälp av användargränssnittet, instanspoolernas CLI (äldre) eller genom att anropa API:et för instanspooler.

Poolrekommendationer

Azure Databricks-plattformen är ett effektivt och kostnadseffektivt sätt att hantera din analysinfrastruktur. Azure Databricks rekommenderar följande metodtips när du använder pooler:

  • 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.
  • 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.
  • Använd konfigurationsalternativ för pooler för att minimera kostnaderna.
  • 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

Om drivrutinsnoden och arbetsnoderna har olika krav skapar du en annan pool för var och en.

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.

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 Övervaka anvä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-instanserna till 0 för att undvika att betala för instanser som körs som inte fungerar. Kompromissen är en möjlig ökning i tiden när ett kluster behöver skaffa en ny instans.
  • Ange tiden för automatisk avslutning av inaktiv instans för att tillhandahålla en buffert mellan när instansen släpps från klustret och när den 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.
  • 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.

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 inaktiva instanser som är större än noll i poolkonfigurationen. 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 Min inaktiv instans till 0 och ange den automatiska avslutningstiden för inaktiv instans tillräckligt hög för att säkerställa att inaktiva instanser 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.