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
tilltrue
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:
- Klicka på knappen Inställningar.
- 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ådeupdates
ochmaintenance
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 detmaintenance
klustret. Du kan också använda etikettenmaintenance
för att åsidosätta inställningar som konfigurerats av etikettendefault
. - Etiketten
updates
definierar inställningar som endast gäller för detupdates
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.delay
0 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
}
]
}