Konfigurera beräkning för jobb
Den här artikeln innehåller rekommendationer och resurser för att konfigurera beräkning för Databricks-jobb.
Viktigt!
Begränsningar för serverlös beräkning för jobb inkluderar följande:
- Inget stöd för kontinuerlig schemaläggning.
- Inget stöd för standard- eller tidsbaserade intervallutlösare i Strukturerad direktuppspelning.
Fler begränsningar finns i Begränsningar för serverlös beräkning.
Varje jobb kan ha en eller flera uppgifter. Du definierar beräkningsresurser för varje aktivitet. Flera uppgifter som definierats för samma jobb kan använda samma beräkningsresurs.
Vilken är den rekommenderade beräkningen för varje uppgift?
I följande tabell visas de rekommenderade och beräkningstyper som stöds för varje aktivitetstyp.
Kommentar
Serverlös beräkning för jobb har begränsningar och stöder inte alla arbetsbelastningar. Se Begränsningar för serverlös beräkning.
Uppgift | Rekommenderad beräkning | Beräkning som stöds |
---|---|---|
Anteckningsböcker | Serverlösa jobb | Serverlösa jobb, klassiska jobb, klassiska allmänna ändamål |
Python-skript | Serverlösa jobb | Serverlösa jobb, klassiska jobb, klassiska allmänna användningsområden |
Python-hjul | Serverlösa jobb | Serverlösa jobb, klassiska jobb, klassiska allmänna ändamål |
SQL | Serverlöst SQL-lager | Serverlöst SQL-lager, pro SQL-lager |
DLT-pipeline | Serverfri pipelina | Serverlös pipeline, klassisk pipeline |
dbt | Serverlöst SQL-lager | Serverlöst SQL-lager, pro SQL-lager |
dbt CLI-kommandon | Serverlösa jobb | Serverlösa jobb, klassiska jobb, klassiska för allmän användning |
JAR | Klassiska jobb | Klassiska jobb, klassiska mångsidiga |
Spark Submit-kommandon | Klassiska jobb | Klassiska jobb |
Prissättningen för jobb är kopplad till den beräkning som används för att köra uppgifter. Mer information finns i Databricks-priser.
Hur konfigurerar jag datorresurser för jobben?
Beräkning av klassiska jobb konfigureras direkt från användargränssnittet för Databricks-jobb, och dessa konfigurationer ingår i jobbdefinitionen. Alla andra tillgängliga beräkningstyper lagrar sina konfigurationer med andra arbetsytetillgångar. Följande tabell innehåller mer information:
Typ av beräkning | Detaljer |
---|---|
Beräkning av klassiska jobb | Du konfigurerar beräkning för klassiska jobb med samma användargränssnitt och inställningar som är tillgängliga för all-purpose compute. Se Referens för beräkningskonfiguration. |
Serverlös beräkning för jobb | Serverlös beräkning för jobb är standard för alla uppgifter som stöder det. Databricks hanterar beräkningsinställningar för serverlös beräkning. Se Köra ditt Azure Databricks-jobb med serverlös beräkning för arbetsflöden. nn En arbetsyteadministratör måste aktivera serverlös beräkning för att det här alternativet ska vara synligt. Se Aktivera serverlös beräkning. |
SQL-lager | Serverlösa och pro SQL-lager konfigureras av arbetsyteadministratörer eller användare med obegränsad behörighet att skapa kluster. Du konfigurerar aktiviteter som ska köras mot befintliga SQL-lager. Se Ansluta till ett SQL-lager. |
DLT-pipelineberäkning | Du konfigurerar beräkningsinställningar för DLT-pipelines under pipelinekonfigurationen. Se Konfigurera datorkapacitet för en DLT-pipeline. nn Azure Databricks hanterar beräkningsresurser för serverlösa DLT-pipelines. Se för att konfigurera en serverlös DLT-pipeline. |
Mångsidig beräkning | Du kan valfritt konfigurera uppgifter med klassisk all-purpose compute. Databricks rekommenderar inte den här konfigurationen för produktionsjobb. Se: Referens för beräkningskonfiguration och Ska generell datoranvändning någonsin användas för jobb?. |
Dela beräkning mellan uppgifter
Konfigurera uppgifter för att använda samma jobbberäkningsresurser för att optimera resursanvändningen med jobb som samordnar flera uppgifter. Att dela beräkning mellan aktiviteter kan minska svarstiden som är associerad med starttider.
Du kan använda en beräkningsresurs för ett enda jobb för att köra alla aktiviteter som ingår i jobbet eller flera jobbresurser som är optimerade för specifika arbetsbelastningar. Alla jobbberäkning som konfigurerats som en del av ett jobb är tillgängliga för alla andra aktiviteter i jobbet.
I följande tabell visas skillnader mellan jobbberäkning som konfigurerats för en enskild uppgift och jobbberäkning som delas mellan aktiviteter:
Enskild uppgift | Delas mellan uppgifter | |
---|---|---|
Start | När aktivitetskörningen börjar. | När den första aktivitetskörningen som konfigurerats för att använda beräkningsresursen börjar. |
Terminate | När uppgiften är klar. | Efter att den sista uppgiften som konfigurerats för att använda beräkningsresursen har körts. |
Inaktiv beräkning | Ej tillämpbart. | Beräkningsresursen förblir påslagen och inaktiv medan uppgifter som inte använder beräkningsresursen körs. |
Ett delat jobbkluster är begränsat till en enda jobbkörning och kan inte användas av andra jobb eller körningar av samma jobb.
Bibliotek kan inte deklareras i en klusterkonfiguration för delat jobb. Du måste lägga till beroende bibliotek i aktivitetsinställningarna.
Granska, konfigurera och byta beräkningsresurser för jobb
Avsnittet Beräkning i panelen Jobbinformation visar en lista över alla beräkningar som konfigurerats för aktiviteter i det aktuella jobbet.
Uppgifter som konfigurerats för att använda en beräkningsresurs markeras i aktivitetsdiagrammet när du hovra över beräkningsspecifikationen.
Använd knappen Växla för att ändra beräkningen för alla aktiviteter som är associerade med en beräkningsresurs.
Beräkningsresurser för klassiska jobb har alternativet Konfigurera . Andra beräkningsresurser ger dig alternativ för att visa och ändra information om beräkningskonfiguration.
Rekommendationer för att konfigurera beräkning av klassiska jobb
Det här avsnittet fokuserar på allmänna rekommendationer om funktioner och konfigurationer som kan gynna vissa arbetsflöden. Specifika rekommendationer för att konfigurera storlek och typer av beräkningsresurser varierar beroende på arbetsbelastningen.
Databricks rekommenderar att du aktiverar fotoacceleration, använder de senaste Databricks Runtime-versionerna och använder beräkning som konfigurerats för Unity Catalog.
Serverlös beräkning för jobb hanterar all infrastruktur, vilket eliminerar följande överväganden. Se Köra ditt Azure Databricks-jobb med serverlös beräkning för arbetsflöden.
Anteckning
Strukturerade arbetsflöden för direktuppspelning har specifika rekommendationer. Se Produktionsöverväganden för strukturerad direktuppspelning.
Använd standardåtkomstläge (tidigare läge för delad åtkomst)
Databricks rekommenderar att du använder standardåtkomstläge för jobb. Se Åtkomstlägen.
Kommentar
Standardåtkomstläget stöder inte vissa arbetsbelastningar och funktioner. Databricks rekommenderar dedikerat åtkomstläge (tidigare åtkomstläge för en enskild användare) för dessa arbetsbelastningar. Se begränsningar för beräkningsåtkomstläge för Unity Catalog.
Använda klusterprinciper
Databricks rekommenderar att arbetsyteadministratörer definierar klusterprinciper för jobb och tillämpar dessa principer för alla användare som konfigurerar jobb.
Med klusterprinciper kan arbetsyteadministratörer ange kostnadskontroller och begränsa användarnas konfigurationsalternativ. Mer information om hur du konfigurerar klusterprinciper finns i Skapa och hantera beräkningsprinciper.
Azure Databricks tillhandahåller en standardpolicy som är konfigurerad för jobb. Administratörer kan göra den här principen tillgänglig för andra arbetsyteanvändare. Se Job Compute.
Använd autoskalning
Konfigurera automatisk skalning så att långvariga uppgifter dynamiskt kan lägga till och ta bort arbetsnoder under jobbkörningar. Se Aktivera automatisk skalning.
Använda en pool för att minska starttiderna för kluster
Med beräkningspooler kan du reservera beräkningsresurser från molnleverantören. Pooler är bra för att minska starttiden för nya jobbkluster och säkerställa tillgängligheten för beräkningsresurser. Se Referens för poolkonfiguration.
Använd spotinstanser
Konfigurera Spot-instanser för arbetsbelastningar som har krav på låg svarstid för att optimera kostnaderna. Se Spot-instanser.
Ska all-purpose compute någonsin användas för jobb?
Det finns många orsaker till att Databricks rekommenderar att du inte använder all-purpose compute för jobb, inklusive följande:
- Azure Databricks debiterar för all-purpose-beräkning till ett annat pris än job-beräkning.
- Jobbet avslutas automatiskt när det har slutförts. Datorresurser för allmänt bruk stöder automatisk avslutning, vilket är kopplat till inaktivitet i stället för att ett jobb avslutas.
- All-purpose compute delas ofta mellan användarteam. Jobb som schemalagts mot all-purpose compute har ofta ökad svarstid på grund av konkurrens om beräkningsresurser.
- Många rekommendationer för att optimera jobbberäkningskonfigurationen är inte lämpliga för den typ av ad hoc-frågor och interaktiva arbetsbelastningar som körs på all-purpose compute.
Följande är användningsfall där du kan välja att använda all-purpose compute för jobb:
- Du utvecklar eller testar nya jobb iterativt. Starttider för jobbberäkningar kan göra iterativ utveckling mödosam. Med universell beräkningskapacitet kan du tillämpa ändringar och köra ditt arbete snabbt.
- Du har kortlivade jobb som måste köras ofta eller enligt ett visst schema. Det finns ingen starttid associerad med den beräkning som körs för tillfället. Överväg kostnader som är associerade med inaktiv tid om du använder det här mönstret.
Serverlös beräkning för jobb är den rekommenderade ersättningen för de flesta aktivitetstyper som du kan överväga att köra mot all-purpose compute.