Konfigurera klassisk beräkning för pipelines

Konfigurera klassisk beräkning för Lakeflow-pipelines för att styra beräkningsprinciper, instanstyper och klusterinställningar. En referens till JSON-schemat clusters finns i definitionen i pipeline-API-referensen.

Databricks rekommenderar serverless för nya pipelines. Välj klassisk beräkning när du behöver specifika instanstyper, anpassade beräkningspolicys, init-skript, en extern JDBC-drivrutin installerad i klustret eller en arbetsyta utanför en serverlös-aktiverad region. Se Konfigurera en serverlös pipeline.

Om du vill skapa en pipeline som körs på klassisk beräkning måste användarna först ha behörighet att distribuera klassisk beräkning, antingen obegränsad skapandebehörighet eller åtkomst till en beräkningsprincip. Serverlösa pipelines kräver inte behörighet till att skapa beräkningskapacitet. Som standard kan alla arbetsyteanvändare använda serverlösa pipelines.

För en jämförelse mellan klassisk och serverlös beräkning sida vid sida, inklusive vilka funktioner som stöds av respektive alternativ, se Serverlös kontra klassisk beräkning för pipelines.

Anmärkning

Eftersom pipeline-körningen hanterar livscykeln för pipelineberäkning och kör en anpassad version av Databricks Runtime kan du inte manuellt ange vissa beräkningsinställningar i en pipelinekonfiguration, till exempel Spark-versionen eller klusternamnen. Se Klusterattribut som inte kan användas av användaren.

Välj beräkning för din pipeline

Så här konfigurerar du klassisk beräkning för din pipeline från Lakeflow Pipelines-redigeraren:

  1. Klicka på Inställningar.
  2. I avsnittet Beräkning i pipelineinställningarna klickar du på Pennikonen. Redigera.
  3. Om den är markerad avmarkerar du Serverlös.
  4. Gör andra ändringar i beräkningsinställningarna och klicka sedan på Spara.

Detta konfigurerar din pipeline så att den använder klassisk beräkning och gör att du kan redigera beräkningsinställningar enligt beskrivningen nedan.

Mer information om Lakeflow Pipelines-redigeraren finns i Utveckla och felsöka ETL-pipelines med Lakeflow Pipelines Editor.

Välj en beräkningsprincip

Arbetsyteadministratörer kan konfigurera beräkningsprinciper för att ge användare åtkomst till klassiska beräkningsresurser för pipelines. Beräkningsprinciper är valfria. Kontakta arbetsyteadministratören om du saknar de beräkningsbehörigheter som krävs. Se Definiera gränser för beräkning av Lakeflow-pipelines.

När du använder Pipelines-API:et, se till att standardvärdena för beräkningsprinciper tillämpas korrekt genom att ange "apply_policy_default_values": true i definitionen clusters.

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

Konfigurera beräkningstaggar

Du kan lägga till anpassade taggar i pipelinens klassiska beräkningsresurser. Med taggar kan du övervaka kostnaden för beräkningsresurser som används av olika grupper i din organisation. Databricks tillämpar dessa taggar på molnresurser och användningsloggar som registrerats i användningssystemtabellerna. Du kan lägga till taggar med hjälp av UI-inställningen för klustertaggar eller genom att redigera JSON-konfigurationen för din pipeline.

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

Som standard väljer pipelinen instanstyperna för sina 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.

Så här konfigurerar du instanstyper när du skapar eller redigerar en pipeline i Lakeflow Pipelines-redigeraren:

  1. Klicka på knappen Inställningar.
  2. I avsnittet Beräkning i pipelineinställningarna klickar du på pennikonen..
  3. I avsnittet Avancerade inställningar väljer du instanstyperna Arbetstyp och Drivrutinstyp för pipelinen.

Konfigurera separata inställningar för uppdaterings- och underhållskluster

Varje deklarativ pipeline har två associerade beräkningsresurser: ett uppdateringskluster som bearbetar pipelineuppdateringar och ett underhållskluster som kör dagliga underhållsaktiviteter (inklusive förutsägande optimering). Som standard gäller dina beräkningskonfigurationer för båda dessa kluster. Att använda samma inställningar för båda kluster förbättrar tillförlitligheten för underhållskörningar genom att se till att nödvändiga konfigurationer, till exempel autentiseringsuppgifter för dataåtkomst för en lagringsplats, tillämpas på underhållsklustret.

Om du bara vill tillämpa inställningarna på ett av de två klustren lägger du till fältet label i inställningens JSON-objekt. Det finns tre möjliga värden för fältet label :

  • maintenance: Tillämpar endast inställningen på underhållsklustret.
  • updates: Tillämpar endast inställningen på uppdateringsklustret.
  • default: Tillämpar inställningen på både uppdaterings- och underhållskluster. Det här är standardvärdet om fältet label utelämnas.

Om det finns en motstridig inställning åsidosätter inställningen med updates etiketten eller maintenance inställningen som definierats med default etiketten.

Anmärkning

Det dagliga underhållsklustret används endast i vissa fall:

  • Pipelines som lagras i Hive-metaarkivet.
  • Pipelines på arbetsytor som inte har godkänt de serverlösa beräkningsvillkoren. Om du behöver hjälp med att acceptera villkoren kontaktar du din Databricks-representant.

Exempel: Definiera en inställning för uppdateringsklustret

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"
      }
    }
  ]
}

Anmärkning

För att hålla kostnaderna nere för klassisk datorkapacitet aktiverar du förbättrad autoskalning ("mode": "ENHANCED") och anger realistiska gränser för min_workers och max_workers som matchar arbetsbelastningen, i stället för ett fast antal arbetsnoder dimensionerat för toppbelastning. Se Optimera användning av Lakeflow-pipelinekluster med automatisk skalning.

Exempel: Konfigurera instanstyper för uppdateringsklustret

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.

{
  "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 klusteravstängning använder du pipelines.clusterShutdown.delay inställningen i pipelinekonfigurationen. I följande exempel anges värdet för pipelines.clusterShutdown.delay till 60 sekunder:

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

Standardvärdet för pipelines.clusterShutdown.delay beror på uppdateringskörningens beteende: 0 seconds för uppdateringar som använder automatiskt återförsök och omstartsbeteende och 2 hours för ad hoc-uppdateringar som använder snabbstart, felsökningsfokuserat beteende.

Anmärkning

Eftersom pipeline-beräkningsresurser stängs av automatiskt när de inte används kan du inte använda en beräkningsprincip som anger autotermination_minutes. Detta resulterar i ett fel.

Skapa en beräkning med en enda nod

En ensam beräkningsnod har en drivrutinsnod som fungerar både som huvudnod och arbetsnod. Detta är avsett för arbetsbelastningar som använder små mängder data eller inte distribueras.

Om du vill skapa en beräkning med en nod anger du num_workers till 0. Till exempel:

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