Condividi tramite


Modalità ad elevata concorrenza in Apache Spark per Fabric

La modalità ad elevata concorrenza consente agli utenti di condividere le stesse sessioni Spark in Spark per Fabric per carichi di lavoro di ingegneria dei dati e data science. Un elemento come un notebook usa una sessione Spark standard per l'esecuzione. In modalità ad elevata concorrenza, la sessione Spark può supportare l'esecuzione indipendente di più elementi all'interno di singoli core REPL (Read-Eval-Print Loop) esistenti all'interno dell'applicazione Spark. Questi core REPL forniscono l'isolamento per ogni elemento e impediscono la sovrascrittura delle variabili del notebook locali con variabili con lo stesso nome da altri notebook che condividono la stessa sessione.

Poiché la sessione è già in esecuzione, ciò offre agli utenti un'esperienza di esecuzione immediata durante il riutilizzo della sessione in più notebook.

Nota

In caso di pool personalizzati con modalità ad elevata concorrenza, gli utenti ottengono un'esperienza di avvio sessione 36 volte più veloce rispetto a una sessione Spark standard.

Diagramma che mostra il funzionamento della modalità ad elevata concorrenza in Fabric.

Importante

Le condizioni di condivisione delle sessioni includono:

  • Le sessioni devono essere all’interno di un singolo limite utente.
  • Le sessioni devono avere la stessa configurazione lakehouse predefinita.
  • Le sessioni devono avere le stesse proprietà dell’ambiente di calcolo Spark.

Come parte dell'inizializzazione della sessione Spark, viene creato un core REPL. Ogni volta che un nuovo elemento inizia a condividere la stessa sessione, gli executor vengono allocati in una modalità basata su FAIR a questi notebook in esecuzione in questi core REPL all'interno dell'applicazione Spark, evitando scenari di insufficienza di risorse.

Fatturazione di sessioni di concorrenza elevata

Quando si usa la modalità di concorrenza elevata, viene fatturata solo la sessione di avvio che avvia l'applicazione Spark condivisa. Tutte le sessioni successive che condividono la stessa sessione Spark non comportano costi aggiuntivi. Questo approccio consente l'ottimizzazione dei costi per i team e gli utenti che eseguono più carichi di lavoro simultanei in un contesto condiviso.

📌 Esempio:

  • Un utente avvia Notebook 1, che avvia una sessione Spark in modalità di concorrenza elevata.
  • La stessa sessione viene quindi condivisa da Notebook 2, Notebook 3, Notebook 4 e Notebook 5.
  • In questo caso, solo Notebook 1 verrà fatturato per l'utilizzo del calcolo Spark.
  • I notebook condivisi (da 2 a 5) non verranno fatturati singolarmente.

Questo comportamento di fatturazione si riflette anche nelle metriche della capacità . L'utilizzo verrà segnalato solo sul notebook di avvio (notebook 1 in questo caso).

Nota

Lo stesso comportamento di fatturazione si applica quando viene usata la modalità di concorrenza elevata all'interno delle attività della pipeline — viene addebitata solo l'attività o il notebook che avvia la sessione di Spark.