Dela via


Optimera klusteranvändningen av DLT-pipelines med förbättrade autoskaleringsfunktioner

I den här artikeln beskrivs hur du använder förbättrad autoskalning för att optimera dina DLT-pipelines på Azure Databricks.

Förbättrad autoskalning är aktiverad som standard för alla nya pipelines.

För serverlösa pipelines är förbättrad autoskalning alltid aktiverad och kan inte inaktiveras. Se för att konfigurera en serverlös DLT-pipeline.

Vad är avancerad autoskalning?

Förbättrad automatisk skalning i Databricks optimerar klusteranvändningen genom att automatiskt allokera klusterresurser baserat på arbetsbelastningsvolym, med minimal påverkan på svarstiden för databearbetning för dina pipelines.

Förbättrad autoskalning förbättrar funktionerna för automatisk skalning i Azure Databricks kluster med följande funktioner:

  • Förbättrad autoskalning implementerar optimering av strömningsarbetsbelastningar och lägger till förbättringar för att förbättra prestanda för batcharbetsbelastningar. Förbättrad autoskalning optimerar kostnaderna genom att lägga till eller ta bort datorer när arbetsbelastningen ändras.
  • Förbättrad autoskalning stänger proaktivt av underutnyttjade noder samtidigt som det garanteras att det inte finns några misslyckade uppgifter under avstängningen. Den befintliga funktionen för automatisk skalning av kluster skalar bara ned noder om noden är inaktiv.

Förbättrad autoskalning är standardläget för automatisk skalning när du skapar en ny pipeline i DLT-användargränssnittet. Du kan aktivera förbättrad autoskalning för befintliga pipelines genom att redigera pipelineinställningarna i användargränssnittet. Du kan också aktivera förbättrad automatisk skalning när du skapar eller redigerar pipelines med DLT API-.

Vilka mått använder förbättrad autoskalning för att fatta ett beslut om uppskalning eller nedskalning?

Förbättrad autoskalning använder två mått för att bestämma hur du skalar upp eller ned:

  • Användning av aktivitetsfack: Det här är det genomsnittliga förhållandet mellan det antalet upptagna aktivitetsfack till totala tillgängliga aktivitetsfack i klustret.
  • aktivitetsköstorlek: Det här är antalet aktiviteter som väntar på att köras i aktivitetsfack.

Aktivera förbättrad autoskalning för en DLT-pipeline

Förbättrad autoskalning är standardläget för automatisk skalning när du skapar en ny pipeline i DLT-användargränssnittet. Du kan aktivera förbättrad autoskalning för befintliga pipelines genom att redigera pipelineinställningarna i användargränssnittet. Du kan också aktivera förbättrad autoskalning när du skapar eller redigerar en pipeline med DLT-API:et.

Om du vill använda förbättrad autoskalning gör du något av följande:

  • Ange klusterläge till Förbättrad automatisk skalning när du skapar eller redigerar en pipeline i DLT-användargränssnittet.
  • Lägg till inställningen autoscale i konfigurationen av pipelineklustret och ange fältet mode till ENHANCED. Se Konfigurera beräkning för en DLT-pipeline.

Använd följande riktlinjer när du konfigurerar förbättrad autoskalning för produktionsrörledningar:

  • Lämna inställningen Min workers som standard.
  • Ange inställningen Max workers till ett värde baserat på budget- och pipelineprioritet.

I följande exempel konfigureras ett förbättrat autoskalningskluster med minst 5 arbetare och högst 10 arbetare. max_workers måste vara större än eller lika med min_workers.

Not

  • Förbättrad autoskalning är endast tillgängligt för updates kluster. Äldre autoskalning används för maintenance-cluster.
  • Konfigurationen autoscale har två lägen:
    • LEGACY: Använd automatisk skalning av kluster.
    • ENHANCED: Använd förbättrad autoskalning.
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

Om pipelinen har konfigurerats för kontinuerlig körning startas den om automatiskt efter att konfigurationen för automatisk skalning har ändrats. Efter omstarten förväntar du dig en kort period med ökad svarstid. Efter den här korta perioden med ökad svarstid bör klusterstorleken uppdateras baserat på din autoscale konfiguration och pipelinens svarstid bör återgå till dess tidigare svarstidsegenskaper.

Begränsa kostnader för pipelines som använder förbättrad autoskalning

Not

Du kan inte konfigurera arbetsprocesser för serverlösa pipelines.

Om du anger parametern Max workers i fönstret pipelines Compute anges en övre gräns för automatisk skalning. Att minska antalet tillgängliga arbetare kan öka svarstiden för vissa arbetsbelastningar, men förhindrar att kostnader för beräkningsresurser spricker under beräkningsintensiva åtgärder.

Databricks rekommenderar att du justerar inställningarna för Maximalt antal arbetare för att balansera kompromissen mellan kostnader och svarstider för dina specifika behov.

Fönstret Beräkning i pipelines-användargränssnittet, där du kan ange Max arbetare för automatisk skalning

Övervaka klassiska pipelines med aktiverad utökad autoskalning

Du kan använda händelseloggen i DLT-användargränssnittet för att övervaka förbättrade mått för automatisk skalning för klassiska pipelines. Förbättrade autoskalningshändelser har händelsetypen autoscale. Följande är exempelhändelser:

Händelse Meddelande
Begäran om att ändra klusterstorlek har påbörjats Scaling [up or down] to <y> executors from current cluster size of <x>
Begäran om ändring av klusterstorlek lyckades Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED
Begäran om ändring av klusterstorlek har delvis lyckats Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED
Begäran om att ändra klusterstorlek misslyckades Achieved cluster size <x> for cluster <cluster-id> with status FAILED

Du kan också se förbättrade händelser för autoskalning genom att direkt fråga i händelseloggen: