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 scienza dei dati in Microsoft Fabric
Le esperienze di ingegneria dei dati e data science di Microsoft Fabric operano su una piattaforma di calcolo Apache Spark completamente gestita. Questa piattaforma è progettata per offrire velocità ed efficienza ineguagliabili. Con i pool di avvio, è possibile prevedere un'inizializzazione rapida della sessione apache Spark, generalmente entro 5-10 secondi, senza necessità di configurazione manuale. È anche possibile personalizzare i pool di Apache Spark in base a requisiti specifici di ingegneria dei dati e data science. La piattaforma consente un'esperienza di analisi ottimizzata e personalizzata. In breve, un pool di avvio è un modo rapido per usare Spark preconfigurato, mentre un pool di Spark offre personalizzazione e flessibilità.
Pool iniziali
I pool di avvio sono un modo semplice e veloce per usare Spark nella piattaforma Microsoft Fabric in pochi secondi. È possibile usare immediatamente le sessioni Spark invece di attendere che Spark configuri automaticamente i nodi, per cui è possibile eseguire altre operazioni con i dati e ottenere informazioni dettagliate in maniera più rapida.
I pool di avvio hanno cluster Apache Spark con sessioni sempre attive e pronte per le richieste. Usano nodi medi che aumentano dinamicamente in base alle esigenze del processo Spark.
Quando si usa un pool di avvio senza dipendenze aggiuntive della libreria o proprietà di Spark personalizzate, la sessione viene in genere avviata in da 5 a 10 secondi. Questo avvio rapido è possibile perché il cluster è già in esecuzione e non richiede tempo di provisioning.
Nota
I pool di avvio sono supportati solo per le dimensioni medie dei nodi e la selezione di altre dimensioni del nodo o la personalizzazione delle configurazioni di calcolo comporterà un'esperienza di avvio della sessione su richiesta che potrebbe richiedere da 2 a 5 minuti
Esistono tuttavia diversi scenari in cui l'avvio della sessione potrebbe richiedere più tempo:
Sono disponibili librerie personalizzate o proprietà Spark
Se sono state configurate librerie o impostazioni personalizzate nell'ambiente in uso, Spark deve personalizzare la sessione dopo la creazione. Questo processo può aggiungere circa 30 secondi a 5 minuti al tempo di avvio, a seconda del numero e delle dimensioni delle dipendenze della libreria.I pool iniziali nella tua regione sono completamente utilizzati
In rari casi, i pool di avvio di un'area potrebbero essere temporaneamente esauriti a causa di traffico elevato. In questo caso, Fabric attiva un nuovo cluster per soddisfare la richiesta, che richiede circa da 2 a 5 minuti. Quando il nuovo cluster è disponibile, viene avviata la sessione. Se hai anche librerie personalizzate da installare, è necessario aggiungere un tempo aggiuntivo di 30 secondi a 5 minuti richiesto per la personalizzazione.funzionalità avanzate di rete o sicurezza (collegamenti privati o reti virtuali gestite)
Quando l'area di lavoro include funzionalità di rete, ad esempio collegamenti privati tenant o reti virtuali gestite, i pool di avvio non sono supportati. In questo caso, Fabric deve creare un cluster su richiesta, che aggiunge da 2 a 5 minuti in più all'ora di inizio della sessione. Se si hanno anche dipendenze della libreria, tale passaggio di personalizzazione può aggiungere di nuovo un altro 30 secondi a 5 minuti.
Ecco alcuni scenari di esempio per illustrare i potenziali orari di inizio:
Sceneggiatura | Tempo di avvio tipico |
---|---|
impostazioni predefinite, nessuna libreria | 5 - 10 secondi |
Impostazioni predefinite e dipendenze della libreria | 5 – 10 secondi + 30 secondi - 5 minuti (per la configurazione della libreria) |
Traffico elevato nell'area, nessuna libreria | 2 - 5 minuti |
traffico elevato + dipendenze di libreria | 2 – 5 minuti + 30 secondi - 5 minuti (per le librerie) |
sicurezza di rete (collegamenti privati/rete virtuale), nessuna libreria | 2 - 5 minuti |
sicurezza di rete e dipendenze della libreria | 2 – 5 minuti + 30 secondi - 5 minuti (per le librerie) |
Riguardo alla fatturazione e al consumo della capacità, viene addebitato per il consumo della capacità quando si avvia l'esecuzione del notebook o della definizione del processo Apache Spark. Non ti viene addebitato il tempo in cui i cluster sono inattivi nel pool.
Ad esempio, se si invia un processo del notebook a un pool di avvio, viene fatturato solo il periodo di tempo in cui la sessione del notebook è attiva. Il tempo fatturato non include il tempo di inattività o il tempo impiegato per personalizzare la sessione con il contesto Spark.
Pool di Spark
Un pool di Spark è un modo per indicare a Spark il tipo di risorse necessarie per le attività di analisi dei dati. È possibile assegnare un nome al pool di Spark e scegliere il numero e le dimensioni dei nodi (i computer che eseguono il lavoro). È anche possibile indicare a Spark come modificare il numero di nodi a seconda della quantità di lavoro da eseguire. La creazione di un pool di Spark è gratuita; si paga solo quando si esegue un processo Spark nel pool e quindi Spark configura automaticamente i nodi.
Se non si usa il pool di Spark per 2 minuti dopo la scadenza della sessione, il pool di Spark verrà deallocato. Questo periodo di scadenza della sessione predefinito è impostato su 20 minuti ed è possibile modificarlo se necessario. Gli amministratori dell'area di lavoro possono anche creare pool di Spark personalizzati per l'area di lavoro e impostarli come opzione predefinita per altri utenti. In questo modo è possibile risparmiare tempo ed evitare di configurare un nuovo pool di Spark ogni volta che si esegue un notebook o un processo Spark. L'avvio di pool di Spark personalizzati richiede circa tre minuti, perché Spark deve ottenere i nodi da Azure.
È anche possibile creare pool di Spark a nodo singolo impostando il numero minimo di nodi su uno, in modo che il driver e l'executor vengano eseguiti in un singolo nodo dotato di disponibilità elevata restaurabile, adatto a carichi di lavoro ridotti.
Le dimensioni e il numero di nodi che è possibile avere in un pool di Spark personalizzato dipendono dalla capacità di Microsoft Fabric. La capacità è una misura della potenza di calcolo che è possibile usare in Azure. Un modo per concepirla è che due VCore Apache Spark (un'unità di potenza di calcolo per Spark) equivalgono a un'unità di capacità.
Nota
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 VCores Spark, quindi F64 => 128 VCores Spark e su cui viene applicato un moltiplicatore burst 3x che fornisce un totale di 384 VCores Spark
Ad esempio, un SKU della capacità Fabric F64 ha 64 unità di capacità, equivalenti a 384 unità VCore Spark (64 * 2 * moltiplicatore Burst 3X). È possibile usare questi VCore Spark per creare nodi di dimensioni diverse per il pool di Spark personalizzato, purché il numero totale di VCore Spark non superi 384.
I pool Spark sono fatturati come i pool iniziali; non si paga per i pool Spark personalizzati creati, a meno che non sia stata creata una sessione Spark attiva per l'esecuzione di un notebook o un'attività Spark. La fatturazione avviene solo per la durata dell'esecuzione del processo. Non riceverai fatture per fasi, come la creazione e deallocazione del cluster, dopo il completamento del lavoro.
Ad esempio, se si invia un job del notebook a un pool di Spark personalizzato, verrà addebitato solo il tempo in cui la sessione è attiva. La fatturazione per tale sessione del notebook si arresta dopo che la sessione Spark è stata arrestata o è scaduta. Non viene addebitato il tempo necessario per l’acquisizione delle istanze del cluster dal cloud né il tempo impiegato per l'inizializzazione del contesto Spark.
Possibili configurazioni del pool personalizzato per F64 in base all'esempio precedente:
Capacità SKU del Fabric | Unità di capacità | Numero massimo di VCore Spark con fattore di burst | Dimensioni nodo | Numero massimo di nodi |
---|---|---|---|---|
F64 | 64 | 384 | Piccola | 96 |
F64 | 64 | 384 | Intermedio | 48 |
F64 | 64 | 384 | Grande | 24 |
F64 | 64 | 384 | X-Large | 12 |
F64 | 64 | 384 | XXL | 6 |
Nota
Per creare pool personalizzati, sono necessarie autorizzazioni di amministratore per l'area di lavoro. L'amministratore della capacità di Microsoft Fabric inoltre deve concedere le autorizzazioni per consentire agli amministratori dell'area di lavoro di ridimensionare i loro pool di Spark personalizzati. Per altre informazioni, vedere Introduzione ai pool di Spark personalizzati in Fabric
Nodi
L'istanza del pool di Apache Spark è costituita da un nodo principale e nodi di lavoro, e può iniziare con un minimo di un nodo in un'istanza di Spark. Il nodo principale esegue servizi di gestione aggiuntivi, come Livy, Yarn Resource Manager, Zookeeper e il driver di Apache Spark. Tutti i nodi eseguono servizi come Node Agent e Yarn Node Manager. Tutti i nodi di lavoro eseguono il servizio Apache Spark Executor.
Dimensioni dei nodi
Un pool di Spark può essere definito con dimensioni dei nodi che vanno da un nodo di calcolo di piccole dimensioni (con 4 vCore e 32 GB di memoria) a un nodo di calcolo di dimensioni aggiuntive aggiuntive (con 64 vCore e 512 GB di memoria per nodo). È possibile modificare le dimensioni dei nodi dopo la creazione del pool, anche se a vole è necessario riavviare la sessione attiva.
Misura | vCore | Memoria |
---|---|---|
Piccola | 4 | 32 GB |
Intermedio | 8 | 64 GB |
Grande | 16 | 128 GB |
X-Large | 32 | 256 GB |
XXL | 64 | 512 gigabyte |
Nota
Le dimensioni dei nodi X-Large e XX-Large sono consentite solo per SKU di Fabric non di prova.
Scalabilità automatica
La scalabilità automatica per i pool di Apache Spark consente di aumentare e ridurre automaticamente le risorse di calcolo in base alla quantità di attività. Quando si abilita la funzionalità di scalabilità automatica, si imposta il numero minimo e massimo di nodi su cui scalare. Quando si disabilita la funzionalità di scalabilità automatica, il numero di nodi impostati rimane fisso. Questa impostazione può essere modificata dopo la creazione del pool, anche se a volte potrebbe essere necessario riavviare l'istanza.
Nota
Per impostazione predefinita, spark.yarn.executor.decommission.enabled è impostato su true, consentendo l'arresto automatico dei nodi sottoutilizzati per ottimizzare l'efficienza di calcolo. Se si preferisce un ridimensionamento meno aggressivo, questa configurazione può essere impostata su false
Allocazione dinamica
L'allocazione dinamica consente all'applicazione Apache Spark di richiedere più executor se le attività superano il carico che gli executor correnti possono sopportare. Rilascia anche gli executor al termine dei processi e se l'applicazione Spark passa allo stato di inattività. Gli utenti aziendali spesso trovano difficile ottimizzare le configurazioni dell'executor perché sono molto diverse nelle diverse fasi di un processo di esecuzione dei processi Spark. Queste configurazioni dipendono anche dal volume di dati elaborati che cambia di volta in volta. È possibile abilitare l'opzione di allocazione dinamica degli executor come parte della configurazione del pool, che abilita l'allocazione automatica degli executor all'applicazione Spark in base ai nodi disponibili nel pool di Spark.
Quando si abilita per ogni applicazione Spark inviata l'opzione di allocazione dinamica, il sistema riserva gli executor nel passaggio di invio del processo in base al numero minimo di nodi. Specificare il numero massimo di nodi per supportare scenari di scalabilità automatica efficienti.