Limiti di concorrenza e accodamento in Apache Spark per Microsoft Fabric
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 di capacità in base alle dimensioni del carico di lavoro analitica. In Apache Spark gli utenti ottengono due VCore Apache 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 Apache Spark, ad esempio notebook, definizioni di processi Apache Spark e lakehouse creati in queste aree di lavoro.
Limitazione e accodamento della concorrenza
Spark per Fabric 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 della capacità di Infrastruttura acquistata, vengono limitati con il messaggio
Codice di risposta HTTP 430: questo processo Spark non può essere eseguito perché è stato raggiunto un limite di calcolo Spark o frequenza API. Per eseguire questo processo Spark, annullare un processo Spark attivo tramite l'hub di monitoraggio oppure scegliere uno SKU di capacità maggiore 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 Apache 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 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.
Spark per la limitazione 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
Gli amministratori possono configurare i pool di Apache 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à F64 Fabric può ora configurare il pool di Spark (pool di avvio o pool personalizzato) a 384 VCore Spark, in cui i nodi massimi dei pool di starter possono essere impostati su 48 o gli amministratori possono configurare un pool di dimensioni di nodi di grandi dimensioni XX con 6 nodi max.
Contenuto correlato
- Introduzione alle impostazioni di amministrazione dell'area di lavoro Apache Spark in Microsoft Fabric.
- Informazioni sull'ambiente di calcolo di Apache Spark per l'ingegneria dei dati e sulle esperienze di data science di Fabric .