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 |
---|---|---|
Notebook-filer | Serverlösa jobb | Serverlösa jobb, klassiska jobb, klassiska all-purpose |
Python-skript | Serverlösa jobb | Serverlösa jobb, klassiska jobb, klassiska all-purpose |
Python-hjul | Serverlösa jobb | Serverlösa jobb, klassiska jobb, klassiska all-purpose |
SQL | Serverlöst SQL-lager | Serverlöst SQL-lager, pro SQL-lager |
Delta Live Tables-pipeline | Serverlös pipeline | 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 all-purpose |
JAR | Klassiska jobb | Klassiska jobb, klassiska all-purpose |
Spark-sändning | 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 gör jag för att konfigurera beräkning för jobb?
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 | Details |
---|---|
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. |
Delta Live Tables-pipelineberäkning | Du konfigurerar beräkningsinställningar för Delta Live Tables-pipelines under pipelinekonfigurationen. Se Konfigurera beräkning för en Delta Live Tables-pipeline. nn Azure Databricks hanterar beräkningsresurser för serverlösa Delta Live Tables-pipelines. Se Konfigurera en serverlös Delta Live Tables-pipeline. |
All-purpose compute | Du kan också 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 all-purpose compute 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 aktiviteter | |
---|---|---|
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 aktiviteten har körts. | Efter den sista uppgiften som konfigurerats för att använda beräkningsresursen körs. |
Inaktiv beräkning | Ej tillämpbart. | Beräkning förblir på och inaktiv medan aktiviteter som inte använder beräkningsresurskörningen. |
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 växla jobbberäkning
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.
Kommentar
Strukturerade arbetsflöden för direktuppspelning har specifika rekommendationer. Se Produktionsöverväganden för strukturerad direktuppspelning.
Använda läget för delad åtkomst
Databricks rekommenderar att du använder läget för delad åtkomst för jobb. Se Åtkomstlägen.
Kommentar
Läget för delad åtkomst stöder inte vissa arbetsbelastningar och funktioner. Databricks rekommenderar enkel användaråtkomstläge 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 standardprincip som konfigurerats för jobb. Administratörer kan göra den här principen tillgänglig för andra arbetsyteanvändare. Se Jobbberäkning.
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ända instanser av oanvänd kapacitet
Konfigurera instanser av oanvänd kapacitet för arbetsbelastningar som har krav på slapp 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-fakturor för all-purpose-beräkning med en annan hastighet än jobbberäkning.
- Jobbberäkningen avslutas automatiskt när en jobbkörning har slutförts. All-purpose compute stöder automatisk avslutning, vilket är kopplat till inaktivitet i stället för slutet av en jobbkörning.
- 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äkning kan göra iterativ utveckling omständlig. Med all användningsberäkning kan du tillämpa ändringar och köra jobbet 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.