Delen via


Rekenkracht configureren voor een DLT-pijplijn

Dit artikel bevat instructies en overwegingen bij het configureren van aangepaste rekeninstellingen voor DLT-pijplijnen.

Serverloze pijplijnen bieden geen rekenconfiguratieopties. Zie Een serverloze DLT-pijplijn configureren.

Een clusterbeleid selecteren

Gebruikers moeten gemachtigd zijn om rekenkracht te implementeren om DLT-pijplijnen te configureren en bij te werken. Werkruimtebeheerders kunnen clusterbeleid configureren om gebruikers toegang te bieden tot rekenresources voor DLT. Zie Limieten definiëren voor DLT-pijplijn berekenen.

Notitie

  • Clusterbeleid is optioneel. Neem contact op met de werkruimtebeheerder als u niet beschikt over de rekenbevoegdheden die vereist zijn voor DLT.

  • Als u ervoor wilt zorgen dat de standaardwaarden van het clusterbeleid correct worden toegepast, stelt u apply_policy_default_values in op true in de clusterconfiguraties in de pijplijnconfiguratie:

    {
      "clusters": [
        {
          "label": "default",
          "policy_id": "<policy-id>",
          "apply_policy_default_values": true
        }
      ]
    }
    

Clustertags configureren

U kunt clustertags gebruiken om het gebruik van uw pijplijnclusters te controleren. Voeg clustertags toe in de DLT-gebruikersinterface wanneer u een pijplijn maakt of bewerkt of door de JSON-instellingen voor uw pijplijnclusters te bewerken.

Instantietypen selecteren om een pijplijn uit te voeren

DLT selecteert standaard de instantietypen voor het stuurprogramma en de werkknooppunten van uw pijplijn. U kunt desgewenst de exemplaartypen configureren.

Selecteer bijvoorbeeld exemplaartypen om de pijplijnprestaties te verbeteren of geheugenproblemen op te lossen bij het uitvoeren van uw pijplijn. U kunt exemplaartypen configureren wanneer u of bewerken een pijplijn met de REST API of in de DLT-gebruikersinterface.

Exemplaartypen configureren wanneer u een pijplijn maakt of bewerkt in de DLT-gebruikersinterface:

  1. Klik op de knop Instellingen.
  2. Selecteer in het gedeelte Advanced van de pijplijninstellingen in de vervolgkeuzelijsten werkertype en stuurprogrammatype de instantietypen voor de pijplijn.

Geavanceerde rekenconfiguraties

Notitie

Omdat rekenresources volledig worden beheerd voor serverloze DLT-pijplijnen, zijn rekeninstellingen niet beschikbaar wanneer u serverloze voor een pijplijn selecteert.

Elke DLT-pijplijn heeft twee gekoppelde clusters:

  • De updates cluster verwerkt pijplijnupdates.
  • Het maintenance-cluster voert dagelijkse onderhoudstaken uit.

De rekeninstellingen die zijn opgegeven met behulp van de gebruikersinterface voor de configuratie van de werkruimtepijplijn, zijn van toepassing op zowel update- als onderhoudsclusters. U moet de JSON-configuratie bewerken om deze instellingen onafhankelijk te wijzigen.

De configuratie die door deze clusters wordt gebruikt, wordt bepaald door het clusters kenmerk dat is opgegeven in uw pijplijninstellingen.

Met behulp van clusterlabels kunt u rekeninstellingen toevoegen die alleen van toepassing zijn op een specifiek clustertype. Er zijn drie labels die u kunt gebruiken bij het configureren van pijplijnclusters:

Notitie

De instelling voor het clusterlabel kan worden weggelaten als u slechts één clusterconfiguratie definieert. Het default label wordt toegepast op clusterconfiguraties als er geen instelling voor het label is opgegeven. De clusterlabelinstelling is alleen vereist als u instellingen voor verschillende clustertypen moet aanpassen.

  • Het label default definieert rekeninstellingen voor zowel de updates- als maintenance-clusters. Het toepassen van dezelfde instellingen op beide clusters verbetert de betrouwbaarheid van onderhoudsuitvoeringen door ervoor te zorgen dat vereiste configuraties, zoals referenties voor gegevenstoegang voor een opslaglocatie, worden toegepast op het onderhoudscluster.
  • Het label maintenance definieert rekeninstellingen die alleen van toepassing zijn op het maintenance-cluster. U kunt het maintenance label ook gebruiken om instellingen te overschrijven die zijn geconfigureerd door het default label.
  • Het label updates definieert instellingen die alleen van toepassing zijn op het updates-cluster. Gebruik deze om instellingen te configureren die niet moeten worden toegepast op het maintenance-cluster.

Instellingen die zijn gedefinieerd met behulp van de labels default en updates worden samengevoegd om de uiteindelijke configuratie voor het updates-cluster te maken. Als dezelfde instelling wordt gedefinieerd met zowel default als updates labels, overschrijft de instelling die is gedefinieerd met het updates label de instelling die is gedefinieerd met het default label.

In het volgende voorbeeld wordt een Spark-configuratieparameter gedefinieerd die alleen wordt toegevoegd aan de configuratie voor het updates-cluster:

{
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    },
    {
      "label": "updates",
      "spark_conf": {
        "key": "value"
      }
    }
  ]
}

DLT heeft vergelijkbare opties voor clusterinstellingen als andere berekeningen in Azure Databricks. Net als bij andere pijplijninstellingen kunt u de JSON-configuratie voor clusters wijzigen om opties op te geven die niet aanwezig zijn in de gebruikersinterface. Zie Compute-.

Notitie

Omdat de DLT-runtime de levenscyclus van pijplijnclusters beheert en een aangepaste versie van Databricks Runtime uitvoert, kunt u sommige clusterinstellingen niet handmatig instellen in een pijplijnconfiguratie, zoals de Spark-versie of clusternamen. Zie Clusterkenmerken die niet door de gebruiker kunnen worden ingesteld.

Exemplaartypen configureren voor update- en onderhoudsclusters

Als u exemplaartypen in de JSON-instellingen van de pijplijn wilt configureren, klikt u op de knop JSON- en voert u de configuraties van het exemplaartype in de clusterconfiguratie in:

Notitie

Om te voorkomen dat onnodige resources worden toegewezen aan het maintenance-cluster, wordt in dit voorbeeld het label updates gebruikt om alleen de instantietypen voor het updates-cluster in te stellen. Als u de exemplaartypen wilt toewijzen aan zowel updates- als maintenance-clusters, gebruikt u het default label of laat u de instelling voor het label weg. Het label default wordt toegepast op configuraties van pijplijnclusters als er geen instelling voor het label is opgegeven. Zie Geavanceerde rekenconfiguraties.

{
  "clusters": [
    {
      "label": "updates",
      "node_type_id": "Standard_D12_v2",
      "driver_node_type_id": "Standard_D3_v2",
      "...": "..."
    }
  ]
}

Afsluiten van rekenproces vertragen

Als u het gedrag van het afsluiten van clusters wilt beheren, kunt u de ontwikkelings- of productiemodus gebruiken of de pipelines.clusterShutdown.delay-instelling in de pijplijnconfiguratie gebruiken. In het volgende voorbeeld wordt de pipelines.clusterShutdown.delay waarde ingesteld op 60 seconden:

{
  "configuration": {
    "pipelines.clusterShutdown.delay": "60s"
  }
}

Wanneer production modus is ingeschakeld, wordt de standaardwaarde voor pipelines.clusterShutdown.delay0 seconds. Wanneer development modus is ingeschakeld, wordt de standaardwaarde 2 hours.

Notitie

Omdat een DLT-cluster automatisch wordt afgesloten wanneer het niet in gebruik is, zal het verwijzen naar een clusterbeleid dat autotermination_minutes instelt in uw clusterconfiguratie resulteren in een fout.

Een cluster met één knooppunt maken

Als u num_workers instelt op 0 in de clusterinstellingen, wordt het cluster gemaakt als een cluster met één knooppunt. Als u een cluster voor automatisch schalen configureert en min_workers instelt op 0 en max_workers op 0, wordt een cluster met één knooppunt gemaakt.

Als u een automatisch schalend cluster configureert en alleen min_workers instelt op 0, wordt het cluster niet gemaakt als één knooppuntcluster. Het cluster heeft altijd ten minste één actieve werknemer totdat het is beëindigd.

Een voorbeeld van een clusterconfiguratie voor het maken van één knooppuntcluster in DLT:

{
  "clusters": [
    {
      "num_workers": 0
    }
  ]
}