Gestire la potenza di calcolo serverless

Questa pagina spiega come gestire l'accesso al calcolo serverless e come implementare limiti di velocità serverless. Gli amministratori di workspace governano il computo serverless utilizzando oggetti di calcolo serverless integrati. Un oggetto di calcolo serverless è un tipo di risorsa che definisce il limite di autorizzazione per i carichi di lavoro serverless. L'area di lavoro ottiene automaticamente due oggetti di calcolo predefiniti:

  • Calcolo interattivo predefinito: controlla l'accesso ai notebook e a Databricks Connect.
  • Elaborazione automatizzata predefinita: governa l'accesso ai job e alle pipeline dichiarative Spark su Lakeflow.

Per impostazione predefinita, tutti gli utenti dell'area di lavoro possono usare su entrambi gli oggetti, in modo che i carichi di lavoro esistenti continuino a essere eseguiti senza modifiche. Un amministratore dell'area di lavoro può rimuovere utenti o gruppi da uno degli oggetti per limitare l'accesso. Un utente che perde l'accesso vedrà l'opzione di elaborazione Serverless come non disponibile nelle interfacce del prodotto.

Gestire l'accesso all'ambiente di calcolo serverless

Per controllare chi può accedere all'ambiente di calcolo serverless, gli amministratori dell'area di lavoro possono modificare le autorizzazioni per gli oggetti Calcolo interattivo predefinito e Calcolo automatico predefinito . Gli amministratori dell'area di lavoro dispongono dell'autorizzazione Can Manage per impostazione predefinita, ma possono concedere l'autorizzazione a qualsiasi utente. Questi oggetti di calcolo predefiniti non possono essere rinominati o cancellati.

Scheda Serverless nella pagina Calcolo che elenca gli oggetti di calcolo interattivi e automatizzati predefiniti

Ogni oggetto di calcolo serverless supporta due livelli di autorizzazione:

Autorizzazione Ti permette di
Può usare Eseguire carichi di lavoro in questo ambiente di calcolo
Può gestire Eseguire carichi di lavoro in questo calcolo e modificare le autorizzazioni dell'ambiente di calcolo

Puoi anche gestire i permessi per oggetti di calcolo serverless in modo programmatico usando l'Account Controllo di accesso API.

Limitare l'accesso al serverless interattivo

Per limitare gli utenti che possono usare serverless per notebook e Databricks Connect:

  1. Nella barra laterale dell’area di lavoro fare clic su Calcola.
  2. Nella scheda Serverless, fare clic sul menu kebab Icona del menu kebab. accanto a Compute interattivo predefinito, quindi fare clic su Modifica autorizzazioni.
  3. Rimuovere il gruppo Tutti gli utenti o il gruppo che include tutti gli utenti dell'area di lavoro.
  4. Aggiungere solo utenti, gruppi o entità servizio specifici da autorizzare.

Se si revocano le autorizzazioni interattive per Serverless di un utente, i notebook già collegati a Serverless non riusciranno più a connettersi quando l'utente esegue una cella e l'utente non vedrà più l'opzione Serverless tra quelle disponibili nel selettore di calcolo del notebook. Se tentano di eseguire Databricks Connect, la richiesta di connessione ha esito negativo e viene visualizzato un errore che indica che l'utente non ha accesso a serverless.

Limitare l'accesso a processi e pipeline serverless

Per limitare gli utenti che possono usare serverless nei processi e nelle pipeline:

  1. Nella barra laterale dell’area di lavoro fare clic su Calcola.
  2. Nella scheda Serverless, fare clic sul menu kebab Icona del menu kebab. accanto a Calcolo automatico predefinito, quindi fare clic su Modifica autorizzazioni.
  3. Rimuovere il gruppo Tutti gli utenti o il gruppo che include tutti gli utenti dell'area di lavoro.
  4. Aggiungere solo utenti, gruppi o entità servizio specifici da autorizzare.

Se revoci i permessi serverless automatizzati di un utente, tutti i job o pipeline esistenti dell'utente in esecuzione su serverless non verranno eseguiti. L'utente visualizzerà un messaggio di errore se tenta di eseguire un processo in serverless.

Prima di revocare l'accesso di un utente a Calcolo automatizzato predefinito, controllare quali processi e pipeline possiedono gli utenti interessati. La query seguente identifica i carichi di lavoro serverless recenti per un utente specifico:

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>';

Controlla la colonna usage_metadata per vedere le risorse interessate, ad esempio gli ID dei job e gli ID delle pipeline.

Verificare l'utilizzo serverless

I record di fatturazione serverless includono un campo serverless_compute_id in usage_metadata. Usarlo per tenere traccia dell'oggetto di calcolo su cui è stato eseguito un carico di lavoro:

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;

Funzionalità supportate per il controllo dell'accesso all'elaborazione serverless

Le seguenti funzionalità sono integrate con i controlli di accesso al calcolo serverless.

Interattivo (calcolo interattivo predefinito)

  • Notebook e notebook GPU serverless
  • Databricks Connect - uno strumento per integrare Databricks con i tuoi ambienti di sviluppo preferiti.

Automatizzato (calcolo automatizzato predefinito)

  • Processi e processi GPU serverless
  • Pipeline dichiarative di Spark su Lakeflow

Funzionalità di controllo dell'accesso alla computazione serverless non supportate

Le seguenti funzionalità non sono integrate con i controlli di accesso al calcolo serverless:

  • Databricks SQL (DBSQL)
  • Inferenza in batch (ai_query())
  • Gestione dei modelli
  • Endpoint di throughput con provisioning dell'API del modello di base
  • Lakebase
  • Applicazioni Databricks
  • Valutazione dell'agente e dati sintetici
  • Indicizzazione per la ricerca vettoriale
  • Ottimizzazione predittiva
  • Monitoraggio di Lakehouse
  • Controllo granulare degli accessi sulle risorse di calcolo dedicate. L'accesso al calcolo dedicato determina se un utente può utilizzare un controllo di accesso a grana fine.

Per qualsiasi funzionalità non elencata qui, contattare il team dell'account Azure Databricks per chiederne lo stato.

Limitazioni del controllo degli accessi serverless

Important

In caso di interruzione del servizio, i controlli di accesso potrebbero non essere aperti e utenti che altrimenti verrebbero negati potrebbero essere in grado di avviare carichi di lavoro serverless. Questa funzionalità serve a gestire l'accesso alle risorse di calcolo serverless. Non utilizzare questa funzione per garantire un tetto di spesa assoluto sugli importi finali fatturati. Azure Databricks non è responsabile dei costi sostenuti da carichi di lavoro che si eseguono durante un evento di questo tipo.

  • Non è possibile rinominare o eliminare oggetti di calcolo predefiniti.
  • Un processo o una pipeline già configurata per l'esecuzione su serverless ha esito negativo per qualsiasi utente che perde l'accesso a Calcolo automatico predefinito. Esaminare i carichi di lavoro attivi prima di rimuovere l'accesso di un utente.
  • Il calcolo in background (processi avviati dal sistema) è esente dai controlli di accesso alle risorse di calcolo serverless.

Imposta limiti di velocità per il calcolo serverless

Important

I limiti di tariffa sono in Anteprima Privata. Per partecipare a questa anteprima, contattare il team dell'account Azure Databricks. Dopo l'ingresso nella anteprima, gli amministratori dello spazio di lavoro possono abilitarla dalla pagina delle anteprime utilizzando l'impostazione Limitare di Velocità di Calcolo Serverless .

Un limite di spesa pone un tetto a quanto può spendere un carico di lavoro automatizzato, limitando fino a che punto può ridimensionarsi automaticamente. Gli amministratori di workspace possono creare oggetti di calcolo automatizzati personalizzati e assegnare a ciascuno un limite di frequenza. Quando un carico di lavoro viene eseguito su un oggetto di calcolo con un limite di velocità, l'autoscaler serverless non scala gli eseguitori Spark del carico oltre la dimensione impostata sull'oggetto.

I limiti di velocità si applicano solo ai carichi di lavoro automatizzati (job e Spark Declarative Pipelines su Lakeflow). I carichi di lavoro interattivi (notebook e Databricks Connect) non sono soggetti a limitazione della frequenza.

Un limite di tasso è espresso come dimensione. Ogni dimensione corrisponde a un limite approssimativo delle DBU che un carico di lavoro può consumare per ora. Il limite di velocità limita solo l'autoscaling di Spark Executor. Non impone un limite ad altri componenti di un carico di lavoro, come il driver, le VM REPL, le GPU o gli aggiornamenti delle viste materializzate e delle tabelle di streaming.

Il limite di tariffa si applica a seconda del carico di lavoro. Ogni job e ogni pipeline che utilizza un oggetto di calcolo sono limitati indipendentemente. Due lavori che utilizzano lo stesso oggetto di calcolo ricevono ciascuno il limite completo. All'interno di un singolo lavoro, il limite viene condiviso tra tutti i compiti del lavoro.

Requisiti di limite di tariffa

  • Per creare e gestire oggetti di calcolo serverless, devi essere un amministratore di workspace o un utente con creazione di cluster senza restrizioni.
  • I limiti di velocità serverless richiedono Azure Databricks Runtime 17.3.1 o superiori. I processi usano automaticamente l'ambiente di runtime più recente. Per le pipeline dichiarative di Spark su Lakeflow, opta per il runtime del canale di anteprima.

Crea un calcolo serverless con un limite di velocità

  1. Nella barra laterale dell’area di lavoro fare clic su Calcola.
  2. Nella scheda Serverless, clicca Crea calcolo serverless.
  3. Immetti un nome.
  4. Per la dimensione, seleziona il limite di frequenza da applicare, da Piccolo a 2X-Grande. Lascialo impostato su Default per usare il limite predefinito del tuo workspace.
  5. Clicca su Crea.

La finestra di dialogo Crea nuovo Computer Automatizzato Serverless con un nome inserito e la dimensione impostata su Medium

Il nuovo oggetto di calcolo appare nella scheda Serverless con un tipo di Automatizzato. Per consentire agli utenti di eseguire carichi di lavoro su di esso, concedere agli utenti Can Use o Can Manage, come descritto in Gestire l'accesso al compute serverless. Non puoi modificare la dimensione di un oggetto di calcolo predefinito.

Dimensioni del limite di tasso

Ogni dimensione corrisponde a un limite orario approssimativo della DBU:

Misura Limite approssimativo
Piccolo ~60 DBU per ora
Medium ~120 DBU all'ora
Ampio ~240 DBU per ora
X-Large ~480 DBU per ora
2X-Large ~960 DBU all'ora

Questi limiti sono soglie direzionali. L'utilizzo effettivo può variare intorno a loro a causa della variabilità intrinseca dell'infrastruttura serverless.

Scegliere Default applica il limite predefinito del tuo workspace: Medio per gli spazi di lavoro di livello premium, o Grande per quelli di livello enterprise. Questi corrispondono ai limiti massimi di autoscaling predefiniti esistenti per i carichi di lavoro automatizzati serverless.

Eseguire un carico di lavoro con calcolo a velocità limitata

Un utente con Can Use per un oggetto di calcolo può selezionarlo durante la configurazione di un lavoro o di una pipeline. Il carico di lavoro quindi è eseguito sotto il limite di velocità del calcolo. Se un carico di lavoro non specifica un oggetto di calcolo, torna al Calcolo Automatizzato Predefinito del tuo workspace. Se l'utente non ha accesso a quel valore predefinito, il carico di lavoro non viene eseguito.

  • Jobs: Seleziona l'oggetto di calcolo serverless a livello di job, sia nelle impostazioni di calcolo del job nell'interfaccia utente sia facendo riferimento all'ID del calcolo nell'API dei Jobs. Per copiare l'ID, apri l'oggetto di calcolo nella scheda Serverless e clicca su Copia ID di calcolo.
  • Spark Declarative Pipelines in Lakeflow: seleziona la risorsa di calcolo automatizzata come risorsa di calcolo serverless per una pipeline nell'editor di Lakeflow.

Quando un limite di velocità limita un carico di lavoro, puoi visualizzare l'impatto nella cronologia delle query del carico di lavoro, o per le pipeline, nell'interfaccia di Lakeflow.

Limiti di tasso

  • I limiti di velocità limitano solo l'autoscaling di Spark Executor. Altri componenti di costo, come il driver, le VM REPL, le GPU e gli aggiornamenti di visualizzazione materializzata o di tabelle in streaming, non sono limitati.
  • Il limite DBU all'ora per ogni dimensione è una stima. L'utilizzo effettivo può superare l'obiettivo a causa di modeste fluttuazioni nel limite applicato e della variabilità intrinseca dell'infrastruttura serverless.
  • Un carico di lavoro di dimensione 2X-Large potrebbe avere prestazioni inferiori alle aspettative perché la dimensione fisica del cluster è limitata a 256 esecutori. Se due o più carichi di lavoro 2X-Large sono programmati sullo stesso cluster di runtime, ciascuno potrebbe raggiungere prestazioni inferiori alle attesi.
  • A causa dei dettagli di implementazione della fatturazione, lo stesso carico di lavoro potrebbe comportare un uso diverso delle DBU con limiti di tariffa differenti.
  • Non puoi impostare un limite di velocità su un oggetto di calcolo predefinito.