Delen via


Het clustergebruik van Lakeflow Spark-declaratieve pijplijnen optimaliseren met automatisch schalen

In dit artikel wordt beschreven hoe u verbeterde automatische schaalaanpassing kunt gebruiken om uw pijplijnen in Azure Databricks te optimaliseren.

Verbeterde automatische schaalaanpassing is standaard ingeschakeld voor alle nieuwe pijplijnen. Serverloze pijplijnen maken ook gebruik van verticale automatische schaalaanpassing. Zie Wat is verticaal automatisch schalen?.

Voor serverloze pijplijnen is verbeterde automatische schaalaanpassing altijd ingeschakeld en kan deze niet worden uitgeschakeld. Zie Een serverloze pijplijn configureren.

Wat is verbeterde automatische schaalaanpassing?

Dankzij verbeterde automatische schaalaanpassing van Databricks wordt het clustergebruik geoptimaliseerd door clusterresources automatisch toe te wijzen op basis van het workloadvolume, met minimale gevolgen voor de latentie van gegevensverwerking van uw pijplijnen.

Verbeterde automatische schaalaanpassing verbetert de functionaliteit voor automatisch schalen van Azure Databricks cluster met de volgende functies:

  • Verbeterde automatische schaalaanpassing implementeert optimalisatie van streamingworkloads en voegt verbeteringen toe om de prestaties van batchworkloads te verbeteren. Verbeterde automatische schaalaanpassing optimaliseert de kosten door machines toe te voegen of te verwijderen wanneer de workload verandert.
  • Verbeterde automatische schaalaanpassing sluit proactief onderbenutte knooppunten af en garandeert dat er tijdens het afsluiten geen mislukte taken zijn. Met de bestaande functie voor automatisch schalen van clusters worden alleen knooppunten omlaag geschaald als het knooppunt niet actief is.

Verbeterde automatische schaalaanpassing is de standaardmodus voor automatisch schalen wanneer u een nieuwe pijplijn maakt in de gebruikersinterface van pijplijnen. U kunt verbeterde automatische schaalaanpassing voor bestaande pijplijnen inschakelen door de pijplijninstellingen in de gebruikersinterface te bewerken. U kunt verbeterde automatische schaalaanpassing ook inschakelen wanneer u pijplijnen maakt of bewerkt met de REST API voor pijplijnen.

Welke metrische gegevens gebruiken verbeterde automatische schaalaanpassing om een beslissing te nemen om omhoog of omlaag te schalen?

Verbeterde automatische schaalaanpassing maakt gebruik van twee metrische gegevens om te bepalen of u omhoog of omlaag kunt schalen:

  • taaksitegebruik: dit is de gemiddelde verhouding van het aantal actieve taaksites tot de totale taaksites die beschikbaar zijn in het cluster.
  • taakwachtrijgrootte: dit is het aantal taken dat moet worden uitgevoerd in taaksites.

Verbeterde automatische schaalaanpassing inschakelen voor een pijplijn

Verbeterde automatische schaalaanpassing is de standaardmodus voor automatisch schalen wanneer u een nieuwe pijplijn maakt in de gebruikersinterface van pijplijnen. U kunt verbeterde automatische schaalaanpassing voor bestaande pijplijnen inschakelen door de pijplijninstellingen in de gebruikersinterface te bewerken. U kunt ook verbeterde automatische schaalaanpassing inschakelen wanneer u een pijplijn bewerkt met de Lakeflow Pipelines Editor.

Ga op een van de volgende manieren te werk om verbeterde automatische schaalaanpassing te gebruiken:

  • Stel de clustermodus in op Verbeterde automatische schaalaanpassing bij het bewerken van pijplijninstellingen in de Lakeflow Pipelines Editor.
  • Voeg de autoscale-instelling toe aan de configuratie van het pijplijncluster en stel het veld mode in op ENHANCED. Zie Klassieke rekenkracht configureren voor pijplijnen.

Gebruik de volgende richtlijnen bij het configureren van verbeterde automatische schaalaanpassing voor productiepijplijnen:

  • Laat de Min workers-instelling op de standaardinstelling staan.
  • Stel de Max workers-instelling in op een waarde op basis van budget- en pijplijnprioriteit.

In het volgende voorbeeld wordt een cluster geconfigureerd voor verbeterde automatische schaalvergroting met minimaal 5 werknemers en maximaal 10 werknemers. max_workers moet groter dan of gelijk zijn aan min_workers.

Opmerking

  • Verbeterde automatische schaalaanpassing is alleen beschikbaar voor updates clusters. Verouderde automatische schaalaanpassing wordt gebruikt voor maintenance clusters.
  • De configuratie van de autoscale heeft twee modi:
    • LEGACY: Automatische schaalaanpassing van clusters gebruiken.
    • ENHANCED: Verbeterde automatische schaalaanpassing gebruiken.
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

Als de pijplijn is geconfigureerd voor continue uitvoering, wordt deze automatisch opnieuw opgestart nadat de configuratie voor automatisch schalen is gewijzigd. Na het opnieuw opstarten verwacht u een korte periode van verhoogde latentie. Na deze korte periode van verhoogde latentie moet de clustergrootte worden bijgewerkt op basis van uw autoscale configuratie en moet de pijplijnlatentie terugkeren naar de eerdere latentiekenmerken.

Beperk de kosten voor pijplijnen die gebruikmaken van verbeterde automatische schaalaanpassing

Opmerking

U kunt geen workers configureren voor serverloze processen.

Als u de parameter Max workers instelt in het deelvenster Berekening van pijplijnen, wordt een bovengrens ingesteld voor automatisch schalen. Het verminderen van het aantal beschikbare werknemers kan de latentie voor sommige workloads verhogen, maar voorkomt dat de kosten van rekenbronnen pieken tijdens rekenintensieve bewerkingen.

Databricks raadt u aan de Max workers-instellingen af te stemmen om het kosten- en latentie-evenwicht te optimaliseren voor uw specifieke behoeften.

Het deelvenster Compute in de gebruikersinterface voor pijplijnen, waar u het maximum aantal werknemers kunt instellen voor autoscaling

Bewaak klassieke pijplijnen met ingeschakelde verbeterde automatische schaalaanpassing

U kunt het gebeurtenislogboek in de gebruikersinterface van de pijplijn gebruiken om verbeterde metrische gegevens voor automatische schaalaanpassing voor klassieke pijplijnen te bewaken. Verbeterde automatisch schalingsgebeurtenissen hebben het autoscale gebeurtenistype. Hier volgen voorbeelden van gebeurtenissen:

Event Message
Aanvraag voor het wijzigen van het formaat van het cluster is gestart Scaling [up or down] to <y> executors from current cluster size of <x>
Aanvraag voor het wijzigen van het formaat van het cluster is voltooid Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED
Het verzoek voor het aanpassen van de clustergrootte is gedeeltelijk gelukt. Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED
Verzoek tot aanpassing van clustergrootte is mislukt Achieved cluster size <x> for cluster <cluster-id> with status FAILED

U kunt ook verbeterde gebeurtenissen voor automatisch schalen bekijken door rechtstreeks een query uit te voeren op het gebeurtenislogboek:

Wat is verticale automatische schaalaanpassing?

Serverloze pijplijnen worden toegevoegd aan de horizontale automatische schaalaanpassing die door Databricks wordt geleverd door verbeterde automatische schaalaanpassing door automatisch de meest kostenefficiƫnte exemplaartypen toe te wijzen die uw pijplijn kunnen uitvoeren zonder dat er fouten optreden vanwege onvoldoende geheugenfouten. Verticaal automatisch schalen schaalt op wanneer grotere instantietypen nodig zijn om een pijplijnupdate uit te voeren en schaalt ook af wanneer wordt vastgesteld dat de update kan worden uitgevoerd met kleinere instantietypen. Verticale automatische schaalaanpassing bepaalt of stuurprogrammaknooppunten, werkknooppunten of zowel stuurprogramma- als werkknooppunten omhoog of omlaag moeten worden geschaald.

Verticale automatische schaalaanpassing wordt gebruikt voor alle serverloze pijplijnen, waaronder pijplijnen die door Databricks SQL gerealiseerde weergaven en streamingtabellen worden gebruikt.

Verticale automatische schaalaanpassing werkt door pijplijnupdates te detecteren die zijn mislukt vanwege geheugenfouten. Verticale automatische schaalaanpassing wijst grotere instantietypen toe wanneer deze fouten worden gedetecteerd op basis van geheugentekortgegevens die verzameld zijn van de mislukte update. In de productiemodus wordt automatisch een nieuwe update gestart die gebruikmaakt van de nieuwe rekenresources. In de ontwikkelingsmodus worden de nieuwe rekenresources gebruikt wanneer u handmatig een nieuwe update start.

Als bij verticaal automatisch schalen wordt gedetecteerd dat het geheugen van de toegewezen exemplaren consistent onderbenut is, worden de exemplaartypen omlaag geschaald voor gebruik in de volgende pijplijnupdate.