Optimera klusteranvändningen för Delta Live Tables-pipelines med förbättrad autoskalning
I den här artikeln beskrivs hur du använder förbättrad automatisk skalning för att optimera dina Delta Live Tables-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 på och kan inte inaktiveras. Se Konfigurera en serverlös Delta Live Tables-pipeline.
Vad är förbättrad 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-klustret 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 Delta Live Tables-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 pipelines med Delta Live Tables-API:et.
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 antalet upptagna aktivitetsfack och det totala antalet tillgängliga aktivitetsfack i klustret.
- Storlek på aktivitetskö: Det här är antalet aktiviteter som väntar på att köras i aktivitetsfack.
Aktivera förbättrad autoskalning för en Delta Live Tables-pipeline
Förbättrad autoskalning är standardläget för automatisk skalning när du skapar en ny pipeline i Delta Live Tables-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 Delta Live Tables-API:et.
Om du vill använda förbättrad autoskalning gör du något av följande:
- Ange Klusterläge till Utökad autoskalning när du skapar eller redigerar en pipeline i Delta Live Tables-användargränssnittet.
- Lägg till inställningen
autoscale
i konfigurationen av pipelineklustret och ange fältetmode
tillENHANCED
. Se Konfigurera beräkning för en Delta Live Tables-pipeline.
Använd följande riktlinjer när du konfigurerar förbättrad autoskalning för produktionspipelines:
- Låt inställningen
Min workers
vara 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
.
Kommentar
- Förbättrad autoskalning är endast tillgängligt för
updates
kluster. Äldre autoskalning används förmaintenance
kluster. - Konfigurationen
autoscale
har två lägen:LEGACY
: Använd autoskalning 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
Kommentar
Du kan inte konfigurera arbetare 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 maxinställningarna för arbetare för att balansera kompromissen med kostnadsfördröjningen för dina specifika behov.
Övervaka utökade autoskalningsaktiverade klassiska pipelines
Du kan använda händelseloggen i Delta Live Tables-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 autoscale
händelsetypen. Följande är exempelhändelser:
Event | Meddelande |
---|---|
Begäran om klusterstorlek har startats | Scaling [up or down] to <y> executors from current cluster size of <x> |
Begäran om klusterstorlek har slutförts | Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED |
Begäran om klusterstorlek har delvis slutförts | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
Begäran om klusterstorlek misslyckades | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
Du kan också visa förbättrade autoskalningshändelser genom att fråga händelseloggen direkt:
- Om du vill fråga händelseloggen om mått för kvarvarande uppgifter kan du läsa Övervaka kvarvarande data genom att fråga händelseloggen.
- Information om hur du övervakar klusterändringsbegäranden och svar under förbättrade autoskalningsåtgärder finns i Övervaka förbättrade autoskalningshändelser från händelseloggen för pipelines utan serverlös aktiverad.