Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:✅ Ingegneria dei dati e data science di Fabric
Microsoft Fabric alloca il calcolo tramite capacità. La capacità è un set dedicato di risorse disponibili in un momento specifico e diversi elementi usano tale capacità in modo diverso. Fabric fornisce capacità tramite SKU di Fabric e capacità di prova. Per altre informazioni, vedere Che cos'è la capacità?
Quando si crea una capacità di Fabric, si seleziona una dimensione in base alle esigenze del carico di lavoro. In Apache Spark, ogni unità di capacità corrisponde a due VCores Spark.
Un'unità di capacità = due VCore Spark
Dopo che la capacità è stata fornita, gli amministratori creano aree di lavoro all'interno di essa. I VCore Spark vengono condivisi tra elementi basati su Spark in tali aree di lavoro, inclusi notebook, definizioni di processi Spark e processi lakehouse.
Limitazione della concorrenza e accodamento
Spark in Fabric usa la limitazione e la messa in coda basate sui core. L'ammissione al lavoro si basa sui VCores Spark disponibili nella capacità acquistata. L'accodamento usa il comportamento FIFO (First In, First Out) e riprova automaticamente i lavori in coda quando la capacità diventa disponibile.
Quando un notebook o un processo lakehouse (ad esempio Load to Table) viene inviato mentre viene usata completamente la capacità, Fabric restituisce questo errore:
[TooManyRequestsForCapacity] HTTP Response code 430: This Spark job can't be run because you have hit a Spark compute or API rate limit. To run this Spark job, cancel an active Spark job through the Monitoring hub, or choose a larger capacity SKU or try again later.
Con la coda abilitata, i lavori attivati dalle pipeline, dal pianificatore e dalle definizioni di processi Spark vengono accodati e ritentati automaticamente.
La coda non si applica ai processi notebook interattivi o ai processi notebook inviati tramite l'API pubblica del notebook.
Nota
La scadenza della coda è di 24 ore dal momento dell'invio del processo. Dopo tale periodo, le attività vengono rimosse dalla coda e devono essere inviate nuovamente manualmente.
Se una capacità di Fabric è in uno stato limitato, i nuovi processi Spark vengono rifiutati anziché accodati.
La limitazione di Spark in Fabric si basa su core disponibili, non su un limite arbitrario per numero di processi. Per impostazione predefinita, Spark usa il controllo di ammissione ottimistica, in cui i processi vengono ammessi usando i requisiti di base minimi. Per altre informazioni, vedere Ammissione e gestione dei lavori.
Configurazione del bursting e del pool
Le capacità dell'infrastruttura supportano il bursting, che consente il consumo di fino a 3× i VCore Spark acquistati. Il bursting può aumentare la concorrenza consentendo una maggiore esecuzione in parallelo quando vi è capacità disponibile.
Nota
Il fattore di burst aumenta i VCore Spark totali per la concorrenza e può essere usato anche da un singolo processo se il pool di Spark è configurato con core sufficienti. In altre parole, la configurazione del pool determina il numero massimo di core che un processo può usare, non solo l'allocazione dello SKU di base.
Esempio: F64 con bursting
Se si usa uno SKU F64, il numero massimo di burst è 384 Spark VCore:
- È possibile configurare un pool di avvio o personalizzato con un massimo di 384 VCore Spark.
- Se il pool è configurato per tale limite, un singolo processo Spark può utilizzare tutti i 384 VCore.
- Esempio:
Mediumnodi (8 VCores ciascuno) × 48 nodi massimi = 384 VCores.
Suggerimento
Per ottimizzare le prestazioni del lavoro, configurare il pool di workspace con dimensioni dei nodi appropriate e conta massima di nodi.
Controllo bursting a livello di job
Gli amministratori della capacità possono abilitare o disabilitare il bursting a livello di job nel portale di amministrazione.
- Passare al portale di amministrazione>Impostazioni di capacità>Capacità infrastruttura.
- Selezionare la capacità che si desidera gestire.
- Apri Impostazioni di ingegneria/scienza dei dati>Apri calcolo Spark.
- Usare Disabilita bursting a livello di processo.
Quando il bursting a livello di processo è disabilitato, Spark impedisce a qualsiasi singolo processo di usare tutta la capacità disponibile (inclusi i core burst). Questo comportamento consente di mantenere disponibile la capacità per altre operazioni simultanee.
Questa impostazione è utile per ambienti multi-tenant o ad alta concorrenza, in cui equità e velocità effettiva tra i team sono più importanti rispetto all'ottimizzazione del runtime di un processo.
Scenari di esempio
Bursting abilitato (impostazione predefinita)
Un processo notebook batch di grandi dimensioni può usare tutti i 384 VCore Spark con una capacità F64 quando non sono in esecuzione altri processi.
Funzione di bursting disabilitata
Un job può essere limitato al limite di core di base (ad esempio, 128 VCore Spark per F64), lasciando spazio libero per l'avvio di altri job.
Suggerimento
Per i carichi di lavoro misti (ad esempio, ETL, ML e analisi ad hoc), la disabilitazione del bursting a livello di attività può ridurre la monopolizzazione della capacità e i ritardi di accodamento.
Limiti della capacità SKU di Spark
| Capacità SKU del Fabric | SKU di Power BI equivalente | VCore Spark | Numero massimo di core virtuali Spark con fattore di scoppio | Limite della coda |
|---|---|---|---|---|
| F2 | - | 4 | 20 | 4 |
| F4 | - | 8 | 24 | 4 |
| F8 | - | 16 | 48 | 8 |
| F16 | - | 32 | 96 | 16 |
| F32 | - | 64 | 192 | 32 |
| F64 | P1 | 128 | 384 | 64 |
| F128 | P2 | 256 | 768 | 128 |
| F256 | P3 | 512 | 1536 | 256 |
| F512 | P4 | 1024 | 3072 | 512 |
| F1024 | - | 2048 | 6144 | 1024 |
| F2048 | - | 4096 | 12288 | 2048 |
| Capacità della versione di valutazione | P1 | 128 | 128 | Non disponibile |
Importante
Questa tabella si applica solo ai processi Spark in esecuzione nella capacità Fabric. Con la fatturazione con scalabilità automatica abilitata, i processi Spark vengono eseguiti separatamente dalla capacità di Fabric e non usano burst o smoothing. I VCore Spark totali sono il doppio delle unità di capacità massima impostate nelle impostazioni di autoscalabilità.
Calcolo di esempio
- Uno F64 SKU offre 128 VCores Spark.
- Con un fattore di burst 3× supporta fino a 384 Spark VCore.
- Se un pool è configurato per tutti i 384 VCore, un processo può utilizzare tutti i 384 quando la capacità è altrimenti gratuita.
- Esempio: o tre processi da 128-VCore vengono eseguiti simultaneamente, oppure un processo da 384-VCore.
Nota
Le attività scadono dalla coda entro 24 ore e devono essere reinviate.
Per altre informazioni sui pool di avvio e sulla configurazione, vedere Configurare i pool di avvio in Fabric.
Contenuto correlato
- Introduzione alle impostazioni di amministrazione dell'area di lavoro di Apache Spark in Microsoft Fabric
- Informazioni su Apache Spark per i calcoli di Fabric nei carichi di lavoro di data engineering e data science