Hantera serverlös datorkraft

Den här sidan förklarar hur man hanterar åtkomst till serverless beräkning och hur man implementerar serverless rate-begränsningar. Workspace-administratörer styr serverless compute med inbyggda serverless compute-objekt. Ett serverlöst beräkningsobjekt är en resurstyp som definierar behörighetsgränsen för serverlösa arbetsbelastningar. Arbetsytan får automatiskt två standardobjekt för beräkning:

  • Interaktiv standardberäkning: Styr åtkomsten till notebook-filer och Databricks Connect.
  • Automatiserad standardberäkning: Styr åtkomst till jobb och Spark Declarative Pipelines på Lakeflow.

Som standard har alla arbetsyteanvändare kan använda på båda objekten, så befintliga arbetsbelastningar fortsätter att köras utan ändringar. En arbetsyteadministratör kan ta bort användare eller grupper från något av objekten för att begränsa åtkomsten. En användare som förlorar åtkomsten kommer att se beräkningsalternativet Serverless som otillgängligt i produktens gränssnitt.

Hantera åtkomst till serverlös beräkning

Om du vill styra vem som har åtkomst till serverlös beräkning kan arbetsyteadministratörer redigera behörigheterna för standardobjekten interaktiv beräkning och automatisk standardberäkning . Arbetsyteadministratörer har behörigheten Kan hantera som standard, men de kan ge behörighet till alla användare. Dessa standardberäkningsobjekt kan inte bytas namn eller tas bort.

Fliken Serverlös på sidan Beräkning med standardobjekt för interaktiv och automatiserad beräkning

Varje serverlöst beräkningsobjekt har stöd för två behörighetsnivåer:

Tillåtelse Gör att du kan
Kan användas Kör arbetsbelastningar på den här beräkningsresursen
Kan hantera Kör arbetsbelastningar på den här beräkningsresursen och redigera beräkningsresursens behörigheter

Du kan också hantera behörigheter för serverlösa beräkningsobjekt programmatiskt med Account Access Control API.

Begränsa åtkomsten till serverlös interaktivitet

Så begränsar du vilka som kan använda serverlösa beräkningar för anteckningsböcker och Databricks Connect:

  1. Klicka på Beräkning i sidofältet för arbetsytan.
  2. På fliken Serverless klickar du på kebabmenyn Kebabmenyikon. bredvid Standardberäkning för interaktiv användning och klickar sedan på Redigera behörigheter.
  3. Ta bort gruppen Alla användare eller gruppen som innehåller alla arbetsyteanvändare.
  4. Lägg bara till de specifika användare, grupper eller tjänstens huvudnamn som du vill auktorisera.

Om du återkallar en användares interaktiva serverlösa behörigheter kan inte notebook-filer som redan är anslutna till serverlösa ansluta när användaren kör en cell och användaren inte längre ser alternativet Serverlös som tillgängligt i notebook-filens beräkningsväljare. Om de försöker köra Databricks Connect misslyckas anslutningsbegäran med ett fel som anger att användaren inte har åtkomst till serverlös.

Begränsa åtkomsten till serverlösa jobb och pipelines

Så här begränsar du vem som kan använda serverlösa funktioner i jobb och pipelines:

  1. Klicka på Beräkning i sidofältet för arbetsytan.
  2. På fliken Serverlös klickar du på menyikonen För kebabmeny. Bredvid Standard automatiserad beräkning klickar du sedan på Redigera behörigheter.
  3. Ta bort gruppen Alla användare eller gruppen som innehåller alla arbetsyteanvändare.
  4. Lägg bara till de specifika användare, grupper eller tjänstens huvudnamn som du vill auktorisera.

Om du återkallar en användares behörigheter för automatiserad serverlös körning kommer alla användarens befintliga jobb eller pipelines som körs i en serverlös miljö inte att kunna köras. Användaren ser ett felmeddelande om de försöker köra ett jobb i en serverlös miljö.

Innan du återkallar en användares åtkomst till automatisk standardberäkning granskar du vilka jobb och pipelines som de berörda användarna äger. Följande fråga identifierar de senaste serverlösa arbetsbelastningarna för en specifik användare:

SELECT *
FROM system.billing.usage
WHERE usage_date >= date_add(now(), -30)
  AND billing_origin_product IN ('JOBS', 'DLT')
  AND identity_metadata.run_as = '<user_email>';

usage_metadata Kontrollera kolumnen för att se de berörda resurserna, till exempel jobb-ID:t och pipeline-ID:t.

Granska serverlös användning

Serverless faktureringsposter innehåller ett serverless_compute_id-fält i usage_metadata. Använd den för att spåra vilket beräkningsobjekt en arbetsbelastning kördes på:

SELECT
  usage_metadata.serverless_compute_id,
  identity_metadata.run_as,
  SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE billing_origin_product IN ('JOBS', 'DLT', 'INTERACTIVE')
  AND usage_metadata.serverless_compute_id IS NOT NULL
  AND usage_date >= date_add(now(), -30)
GROUP BY 1, 2
ORDER BY 3 DESC;

Stödda serverlösa åtkomstkontrollfunktioner för beräkning

Följande funktioner är integrerade med åtkomstkontroller för serverlös beräkning.

Interaktiv (standard interaktiv beräkning)

  • Notebooks och serverlösa GPU-anteckningsböcker
  • Databricks Anslut

Automatiserad (standardautomatiserad beräkning)

  • Jobb och serverlösa GPU-jobb
  • Spark deklarativa datapipelines på Lakeflow

Ej stödda serverlösa åtkomstkontrollfunktioner för datorer

Följande funktioner är inte integrerade med serverlösa åtkomstkontroller för beräkning:

  • Databricks SQL (DBSQL)
  • Batch-slutsatsdragning (ai_query())
  • Modellhantering
  • API-slutpunkter för allokerad genomströmning för grundmodeller
  • Lakebase
  • Databricks-appar
  • Agentutvärdering och syntetiska data
  • Indexering av vektorsökning
  • Förutsägande optimering
  • Lakehouse-övervakning
  • Detaljerad åtkomstkontroll för dedikerade beräkningsresurser. Åtkomst till den dedikerade beräkningen avgör om en användare kan använda finjusterad åtkomstkontroll.

Kontakta ditt Azure Databricks kontoteam för att fråga om dess status för alla funktioner som inte visas här.

Begränsningar för serverlös åtkomstkontroll

Important

Vid ett tjänstavbrott kan åtkomstkontroller fallera i öppet läge, och användare som annars skulle nekas åtkomst kan då starta serverlösa arbetsbelastningar. Denna funktion är avsedd att hjälpa till att styra åtkomst till serverlös beräkning. Använd inte denna funktion för att säkerställa ett absolut utgiftstak på de slutliga debiterade beloppen. Azure Databricks ansvarar inte för kostnader som uppstår för arbetsbelastningar som körs under en sådan händelse.

  • Du kan inte byta namn på eller ta bort standardberäkningsobjekt.
  • Ett jobb eller en pipeline som redan är konfigurerad för att köras i en serverlös miljö misslyckas för en användare som förlorar Can Use-åtkomst till Default Automated Compute. Granska aktiva arbetsbelastningar innan du tar bort en användares åtkomst.
  • Bakgrundsberäkning (systeminitierade jobb) är undantagna från serverlösa kontroller för beräkningsåtkomst.

Sätt hastighetsgränser för serverlös beräkning

Important

Prisgränserna finns i privat förhandsvisning. Om du vill ansluta till den här förhandsversionen kontaktar du ditt Azure Databricks-kontoteam. Efter att ha gått med i förhandsvisningen kan workspace-administratörer aktivera det från sidan Förhandsvisningar med inställningen Serverless Compute Rate Limit .

En utgiftsgräns sätter ett tak för hur mycket en automatiserad arbetsbelastning kan kosta genom att begränsa hur mycket den kan autoskalas upp. Workspace-administratörer kan skapa anpassade automatiserade beräkningsobjekt och tilldela varje objekt en hastighetsgräns. När en arbetsbelastning körs på ett beräkningsobjekt som har en hastighetsgräns, skalar inte den serverlösa autoscalern arbetsbelastningens Spark-exekutorer utöver den storlek som är satt på objektet.

Frekvensbegränsningar gäller endast för automatiserade arbetsbelastningar (jobb och Spark Declarative Pipelines på Lakeflow). Interaktiva arbetsbelastningar (notebooks och Databricks Connect) är inte hastighetsbegränsade.

En hastighetsgräns uttrycks som en storlek. Varje storlek motsvarar en ungefärlig gräns för de DBU:er som en arbetsbelastning kan förbruka per timme. Gränsvärdet begränsar endast den automatiska skalningen av Spark-exekverare. Den begränsar inte andra komponenter av en arbetsbelastning, såsom drivrutin, REPL-VM:er, GPU:er eller materialiserade vy- och streamingtabelluppdateringar.

Gränsen för hastighetsbegränsning gäller per arbetsbelastning. Varje jobb och varje pipeline som använder ett beräkningsobjekt har en separat gräns. Två jobb som använder samma beräkningsobjekt får var och en full gräns. Inom ett enda jobb delas taket mellan alla jobbets uppgifter.

Krav på prisgräns

  • För att skapa och hantera serverlösa beräkningsobjekt måste du vara en arbetsytadministratör eller en användare med obegränsad klusterskapande.
  • Serverless-frekvensbegränsningar kräver Azure Databricks Runtime 17.3.1 eller senare. Jobb använder automatiskt den senaste runtimen. För Spark Deklarative Pipelines på Lakeflow, välj att köra på förhandsvisningskanalens runtime.

Skapa en serverless compute med en hastighetsgräns

  1. Klicka på Beräkning i sidofältet för arbetsytan.
  2. Under fliken Serverless , klicka på Skapa serverless compute.
  3. Ange ett namn.
  4. För Storlek, välj hastighetsgränsen som ska användas, från Liten till 2X Stor Storlek. Låt den stå på Standard för att använda arbetsytans standardbegränsning.
  5. Klicka på Skapa.

Dialogen Skapa ny Serverless Automated Compute med ett namn inmatat och storleken satt till Medium

Det nya beräkningsobjektet visas på fliken Serverless med en typ av Automatiserad. För att låta användare köra arbetsbelastningar på den beviljar du dem Kan använda eller Kan hantera enligt beskrivningen i Hantera åtkomst till serverlös beräkning. Du kan inte ändra storleken på ett standardberäkningsobjekt.

Hastighetsbegränsningsstorlekar

Varje storlek motsvarar en ungefärlig timbunden DBU-gräns:

Size Ungefärlig gräns
Liten ~60 DBU per timme
Medium ~120 DBU per timme
Stort ~240 DBU per timme
X-Large ~480 DBU per timme
2X-stor ~960 DBU per timme

Dessa gränsvärden är riktningsberoende. Den faktiska användningen kan variera kring dem på grund av den inneboende variationen i serverlös infrastruktur.

Att välja Standard gäller din arbetsplatss standardgräns: Medium för premium-arbetsytor eller Large för företagsnivå-arbetsytor. Dessa matchar de befintliga standardmaximala autoskalningsgränserna för serverlösa automatiserade arbetsbelastningar.

Kör en arbetsbelastning på hastighetsbegränsade beräkningsresurser

En användare med Kan använda på ett beräkningsobjekt kan välja det när de konfigurerar ett jobb eller en pipeline. Arbetsbelastningen körs sedan under beräkningens hastighetsgräns. Om en arbetsbelastning inte specificerar ett beräkningsobjekt faller den tillbaka på din arbetsplatss standardautomatiserade beräkning. Om användaren inte har tillgång till den standardinställningen kan arbetsbelastningen inte köras.

  • Jobb: Välj det serverlösa beräkningsobjektet på jobbnivå, antingen i jobbets beräkningsinställningar i användargränssnittet eller genom att referera till beräkningens ID i Jobb-API:et. För att kopiera ID:t, öppna beräkningsobjektet på fliken Serverless och klicka på Kopiera beräknings-ID.
  • Spark-deklarativa pipelines på Lakeflow: Välj det automatiserade beräkningsobjektet som den serverlösa beräkningen för en pipeline i Lakeflow-redigeraren.

När en hastighetsgräns stryper en arbetsbelastning kan du se effekten i arbetsbelastningens frågehistorik, eller för pipelines, i Lakeflows gränssnitt.

Begränsningar av hastighetsgränser

  • Hastighetsgränser begränsar endast Spark-exekutors autoskalning. Andra kostnadskomponenter, såsom drivrutinen, REPL-VM:er, GPU:er och uppdateringar av materialiserade vyer eller strömmande tabeller, omfattas inte av något tak.
  • DBU-per-timmesgränsen för varje storlek är en uppskattning. Den faktiska användningen kan överstiga målet på grund av måttliga svängningar i den applicerade gränsen och den inneboende variationen i serverlös infrastruktur.
  • En arbetsbelastning i storleken 2X-Large kan ge sämre prestanda än förväntat eftersom storleken på det fysiska klustret är begränsad till 256 exekverare. Om två eller flera 2X-Large-arbetsbelastningar schemaläggs på samma runtimekluster kan de uppnå lägre prestanda än förväntat.
  • På grund av faktureringsimplementeringsdetaljer kan samma arbetsbelastning orsaka olika DBU-användning vid olika hastighetsbegränsningar.
  • Du kan inte sätta en hastighetsgräns på ett standardberäkningsobjekt.