Limiti di concorrenza e accodamento in Microsoft Fabric Spark

Si applica a: Ingegneria dei dati e data science in Microsoft Fabric

Microsoft Fabric consente l'allocazione di unità di calcolo tramite capacità, ovvero un set dedicato di risorse disponibili in un determinato momento da usare. La capacità definisce l'abilità di una risorsa di eseguire un'attività o di produrre output. Diversi elementi usano capacità diverse in un determinato momento. Microsoft Fabric offre capacità tramite gli SKU e le versioni di valutazione dell'infrastruttura. Per altre informazioni, vedere Che cos'è la capacità?

Quando gli utenti creano una capacità di Microsoft Fabric in Azure, scelgono una dimensione della capacità in base alle dimensioni del carico di lavoro di analisi. In Spark gli utenti ottengono due VCore Spark per ogni unità di capacità che riservano come parte dello SKU.

Un'unità di capacità = Due VCore Spark

Dopo aver acquistato la capacità, gli amministratori possono creare aree di lavoro all'interno della capacità in Microsoft Fabric. I VCore Spark associati alla capacità vengono condivisi tra tutti gli elementi basati su Spark, ad esempio notebook, definizioni di processi Spark e lakehouse creati in queste aree di lavoro.

Limitazione e accodamento della concorrenza

Fabric Spark applica un meccanismo di limitazione e accodamento basato su core, in cui gli utenti possono inviare processi in base agli SKU di capacità di Fabric acquistati. Il meccanismo di accodamento è una semplice coda basata su FIFO, che controlla gli slot di processo disponibili e riprova automaticamente i processi dopo che la capacità è diventata disponibile. Quando gli utenti inviano processi notebook o lakehouse come Load to Table quando la loro capacità è al massimo utilizzo a causa di processi in esecuzione simultanei che usano tutti i Vcore Spark disponibili per lo SKU di capacità dell'infrastruttura acquistata, vengono limitati con il messaggio Codice di risposta HTTP 430: Impossibile inviare questa richiesta perché è in uso tutta la capacità disponibile. Annullare un processo attualmente in esecuzione, aumentare la capacità disponibile o riprovare più tardi.

Con la coda abilitata, i processi del notebook attivati da pipeline e utilità di pianificazione dei processi e definizioni di processi Spark vengono aggiunti alla coda e ritentati automaticamente quando la capacità viene liberata. La scadenza della coda è impostata su 24 ore dall'ora di invio del processo. Dopo questo periodo, i processi dovranno essere inviati di nuovo.

Le capacità dell'infrastruttura sono abilitate con bursting che consente di usare core di calcolo aggiuntivi oltre a quanto acquistato per velocizzare l'esecuzione di un carico di lavoro. Per il bursting dei carichi di lavoro Spark, gli utenti possono inviare processi con un totale di 3 volte i VCore Spark acquistati.

Nota

Il fattore di bursting aumenta solo il numero totale di VCore Spark per facilitare la concorrenza, ma non aumenta il numero massimo di core per processo. Gli utenti non possono inviare un processo che richiede più core rispetto a quanto offerto dalla capacità di Fabric.

La sezione seguente elenca vari limiti basati su core per i carichi di lavoro Spark basati sugli SKU di capacità di Microsoft Fabric:

SKU della capacità dell'infrastruttura SKU di Power BI equivalente VCore Spark Numero massimo di VCore Spark con fattore di burst Limite di code
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à di valutazione P1 128 128 ND

Calcolo di esempio: lo SKU F64 offre 128 VCore Spark. Il fattore di burst applicato per uno SKU F64 è 3, che offre un totale di 384 Vcore Spark. Il fattore di burst viene applicato solo per facilitare la concorrenza e non aumenta i core massimi disponibili per un singolo processo Spark. Ciò significa che un singolo notebook o definizione processo Spark o Processo Lakehouse può usare una configurazione del pool di max 128 vCore e 3 processi con la stessa configurazione possono essere eseguiti simultaneamente. Se i notebook usano una configurazione di calcolo più piccola, possono essere eseguiti simultaneamente fino al raggiungimento del limite di 384 SparkVcore.

Nota

I processi hanno un periodo di scadenza della coda di 24 ore, dopo il quale vengono annullati e gli utenti devono inviarli di nuovo per l'esecuzione del processo.

La limitazione di Spark dell'infrastruttura non ha applicato limiti arbitrari basati sui processi e la limitazione è basata solo sul numero di core consentiti per lo SKU di capacità di Fabric acquistato. L'ammissione di lavoro per impostazione predefinita sarà un controllo di ammissione ottimistica, in cui i processi vengono ammessi in base ai requisiti minimi di core. Altre informazioni sull'ammissione e sulla gestione dei processi ottimistici Se l'opzione pool predefinito (pool di avvio) è selezionata per l'area di lavoro, nella tabella seguente sono elencati i limiti massimi dei processi di concorrenza.

Altre informazioni sulle configurazioni predefinite del pool di avvio in base allo SKU della capacità dell'infrastruttura Che configura i pool di avvio.

Bursting a livello di processo

Amministrazione possono configurare i pool di Spark per usare il numero massimo di core Spark con fattore di burst disponibile per l'intera capacità. Ad esempio, un amministratore dell'area di lavoro collegato a una capacità F46 Fabric può ora configurare il pool di Spark (pool di avvio o pool personalizzato) a 364 VCore Spark, in cui i nodi massimi dei pool di starter possono essere impostati su 48 o gli amministratori possono configurare un pool di nodi xx grandi con 6 nodi max.