Dela via


Konfigurera beräkning för en DLT-pipeline

Den här artikeln innehåller instruktioner och överväganden när du konfigurerar anpassade beräkningsinställningar för DLT-pipelines.

Serverlösa pipelines tillhandahåller inte konfigurationsalternativ för beräkning. Se Konfigurera en serverlös DLT-rörledning.

Välj en klusterprincip

Användare måste ha rättighet att använda datorkapacitet för att konfigurera och uppdatera DLT-pipelines. Arbetsyteadministratörer kan konfigurera klusterprinciper för att ge användare åtkomst till beräkningsresurser för DLT. Se Definiera gränser för DLT-pipelineberäkning.

Not

  • Klusterprinciper är valfria. Kontakta arbetsyteadministratören om du saknar de beräkningsbehörigheter som krävs för DLT.

  • För att säkerställa att standardvärdena för klusterprinciper tillämpas korrekt anger du apply_policy_default_values till true i klusterkonfigurationer i pipelinekonfigurationen:

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

Konfigurera klustertaggar

Du kan använda klustertaggar för att övervaka användningen för dina pipelinekluster. Lägg till klustertaggar i DLT-användargränssnittet när du skapar eller redigerar en pipeline eller genom att redigera JSON-inställningarna för dina pipelinekluster.

Välj instanstyper för att köra en pipeline

Som standard väljer DLT instanstyperna för pipelinens drivrutins- och arbetsnoder. Du kan också konfigurera instanstyperna.

Välj till exempel instanstyper för att förbättra pipelineprestanda eller åtgärda minnesproblem när du kör pipelinen. Du kan konfigurera instanstyper när du skapar eller redigerar en pipeline med REST API:et eller i DLT UI.

Så här konfigurerar du instanstyper när du skapar eller redigerar en pipeline i DLT-användargränssnittet:

  1. Klicka på knappen Inställningar.
  2. I avsnittet för Avancerade inställningar i pipelinen, välj instanstyper för pipelinen i de nedrullningsbara menyerna för arbetstyp och drivertyp.

Avancerade beräkningskonfigurationer

Not

Eftersom beräkningsresurser hanteras fullständigt för serverlösa DLT-pipelines är beräkningsinställningarna inte tillgängliga när du väljer Serverlös för en pipeline.

Varje DLT-pipeline har två associerade kluster:

  • updates-klustret bearbetar pipelineuppdateringar.
  • maintenance-klustret kör dagliga underhållsuppgifter.

Beräkningsinställningar som anges med konfigurationsgränssnittet för arbetsytans pipeline gäller för både uppdaterings- och underhållskluster. Du måste redigera JSON-konfigurationen för att ändra inställningarna oberoende av varandra.

Konfigurationen som dessa kluster använder bestäms av det clusters attribut som anges i pipelineinställningarna.

Med hjälp av klusteretiketter kan du lägga till beräkningsinställningar som endast gäller för en viss klustertyp. Det finns tre etiketter som du kan använda när du konfigurerar pipelinekluster:

Notera

Du kan utelämna inställningen för klusteretiketter om du bara definierar en klusterkonfiguration. Etiketten default tillämpas på klusterkonfigurationer om ingen inställning för etiketten anges. Inställningen för klusteretiketter krävs endast om du behöver anpassa inställningarna för olika klustertyper.

  • Etiketten default definierar beräkningsinställningar för både updates och maintenance kluster. Om samma inställningar tillämpas på båda klustren förbättras tillförlitligheten för underhållskörningar genom att nödvändiga konfigurationer, till exempel autentiseringsuppgifter för dataåtkomst för en lagringsplats, tillämpas på underhållsklustret.
  • Etiketten maintenance definierar beräkningsinställningar som endast gäller för det maintenance klustret. Du kan också använda etiketten maintenance för att åsidosätta inställningar som konfigurerats av etiketten default.
  • Etiketten updates definierar inställningar som endast gäller för det updates klustret. Använd den för att konfigurera inställningar som inte ska tillämpas på maintenance klustret.

Inställningar som definierats med etiketterna default och updates sammanfogas för att skapa den slutliga konfigurationen för updates klustret. Om samma inställning definieras med både default och updates etiketter åsidosätter inställningen som definieras med etiketten updates inställningen som definierats med etiketten default.

I följande exempel definieras en Spark-konfigurationsparameter som bara läggs till i konfigurationen för det updates klustret:

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

DLT har liknande alternativ för klusterinställningar som annan beräkning i Azure Databricks. Precis som andra pipelineinställningar kan du ändra JSON-konfigurationen för kluster för att ange alternativ som inte finns i användargränssnittet. Se Beräkna.

Obs

Eftersom DLT-körningen hanterar livscykeln för pipelinekluster och kör en anpassad version av Databricks Runtime kan du inte manuellt ange vissa klusterinställningar i en pipelinekonfiguration, till exempel Spark-versionen eller klusternamnen. Se klusterattribut som inte är användardefinierbara.

Konfigurera instanstyper för uppdaterings- och underhållskluster

Om du vill konfigurera instanstyper i pipelinens JSON-inställningar klickar du på knappen JSON och anger konfigurationer av instanstyp i klusterkonfigurationen:

Notera

För att undvika att tilldela onödiga resurser till det maintenance klustret använder det här exemplet etiketten updates för att ange instanstyperna för endast det updates klustret. Om du vill tilldela instanstyperna till både updates och maintenance kluster använder du etiketten default eller utelämnar inställningen för etiketten. Etiketten default tillämpas på konfigurationer av pipelinekluster om ingen inställning för etiketten anges. Se Avancerade beräkningskonfigurationer.

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

Fördröj beräkningsavstängning

Om du vill styra beteendet för avstängning av kluster kan du använda utvecklings- eller produktionsläge eller använda inställningen pipelines.clusterShutdown.delay i pipelinekonfigurationen. I följande exempel anges värdet för pipelines.clusterShutdown.delay till 60 sekunder:

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

När production läget är aktiverat är standardvärdet för pipelines.clusterShutdown.delay0 seconds. När development läget är aktiverat är standardvärdet 2 hours.

Notera

Eftersom ett DLT-kluster stängs av automatiskt när det inte används resulterar det i fel om du refererar till en klusterprincip som anger autotermination_minutes i klusterkonfigurationen.

Skapa ett kluster med en nod

Om du anger num_workers till 0 i klusterinställningar skapas klustret som ett kluster med en enda nod. Om du konfigurerar ett kluster för automatisk skalning och ställer in min_workers till 0 och max_workers till 0 skapas ett kluster med en nod.

Om du konfigurerar ett kluster för automatisk skalning och endast anger min_workers till 0 skapas inte klustret som ett kluster med en enda nod. Klustret har minst en aktiv arbetare hela tiden tills det avslutas.

Ett exempel på klusterkonfiguration för att skapa ett kluster med en enda nod i DLT:

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