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.
Con l'introduzione di notebook Python leggeri in Microsoft Fabric, i clienti hanno ora due opzioni affidabili per la creazione e la scalabilità dei flussi di lavoro di analisi: Notebook Python e Notebook PySpark. Sebbene entrambi forniscano un'interfaccia notebook familiare, differiscono in modo significativo per la gestione delle risorse di calcolo, della scalabilità e dell'efficienza dei costi.
Fabric semplifica il processo di selezione o transizione tra tipi di notebook, consentendo ai professionisti dei dati di ottimizzare l'agilità, le prestazioni e il budget. Questa guida è progettata per valutare quale notebook è più adatto alle esigenze correnti e come evolvere l'approccio man mano che i carichi di lavoro aumentano di complessità e scalabilità. Il "pool di avvio" fornisce un contenitore di calcolo pre-riscaldamento che consente l'avvio quasi immediato per i notebook Python o PySpark.
Matrice di decisioni rapide - Scegliere veloce
Ideale per la selezione rapida in base al tipo di carico di lavoro.
Usare questo riferimento generale per determinare rapidamente il tipo di notebook più adatto per i modelli di carico di lavoro comuni. Questa tabella è ideale per la pianificazione iniziale e le revisioni dell'architettura.
| Sceneggiatura | Notebook consigliato |
|---|---|
| Include librerie DuckDB e Polars preinstallate | Python Notebook |
| Dati di dimensione piccola o media (adatti alla memoria) | Notebook Python (o PySpark in un cluster Spark a nodo singolo) |
| Esplorazione rapida e creazione di prototipi | Notebook Python (o PySpark in un cluster Spark a nodo singolo) |
| Set di dati di grandi dimensioni (10 GB+) che superano la memoria | Notebook PySpark |
| Flussi di lavoro di dati complessi o pipeline ETL | Notebook PySpark |
| Esecuzione parallela o ad alta simultaneità | Notebook PySpark |
| Richiede le API native di Spark (MLlib, SQL, Streaming) | Notebook PySpark |
Riepilogo rapido degli scenari chiave - Confronto approfondito
Usare questa tabella di confronto strutturata per comprendere i compromessi architetturali e operativi tra i tipi di notebook. Ideale per le valutazioni di progettazione o la pianificazione dell'implementazione.
Esecuzione e prestazioni
| Sceneggiatura | Notebook Python (macchina virtuale a 2 core) | Notebook PySpark (elaborazione Spark) |
|---|---|---|
| Ora di avvio | Il pool di avvio predefinito viene inizializzato in circa 5 secondi, mentre il pool su richiesta richiede circa 3 minuti. | L'avvio varia da circa 5 secondi (pool di avvio) a diversi minuti (cluster Spark su richiesta). |
| Trasformazioni rapide e chiamate API | Ideale per set di dati di piccole e medie dimensioni (fino a 1 GB) | Ottimizzato per set di dati di grandi dimensioni tramite l'esecuzione vettorializzata. |
| Carichi di lavoro moderati | Non ottimizzata per le dimensioni dei dati che si avvicinano alla saturazione della memoria | Scalabilità efficiente tramite il calcolo distribuito. |
| Gestione di set di dati di grandi dimensioni | Limitato dalla memoria a nodo singolo. Può faticare con la scalabilità. | L'elaborazione distribuita garantisce una gestione scalabile di carichi di lavoro da più GB a TB. |
| High-Concurrency Esecuzione | Parallelismo manuale in stile FIFO per notebook | Concorrenza gestita dal sistema con supporto per l'esecuzione parallela. |
| Personalizzazione e ridimensionamento delle risorse | Calcolo fisso (macchina virtuale a 2 core); non viene ridimensionata automaticamente. Gli utenti possono aumentare manualmente il numero di istanze utilizzando le funzioni %%config entro il notebook. | Allocazione flessibile delle risorse; supporta la scalabilità automatica e le configurazioni spark personalizzate. |
Flusso di lavoro e orchestrazione
| Sceneggiatura | Notebook Python (macchina virtuale a 2 core) | Notebook PySpark (elaborazione Spark) |
|---|---|---|
| Orchestrazione API | Efficace per l'orchestrazione leggera e i flussi di controllo, in particolare le integrazioni basate su REST/gRPC | Meno ottimale per le attività di orchestrazione di base a causa di un sovraccarico di avvio e distribuzione più lungo. |
| DAG ETL complessi | Limitata all'esecuzione di attività sequenziale (FIFO) su un singolo nodo, senza supporto per l'elaborazione parallela. | Supporta l'esecuzione di attività simultanee all'interno di dag usando FlFO o la pianificazione FAlR, consentendo un'elaborazione parallela efficiente per flussi di lavoro ETL complessi. |
Supporto della piattaforma e della libreria
| Sceneggiatura | Notebook Python (macchina virtuale a 2 core) | Notebook PySpark (elaborazione Spark) |
|---|---|---|
| Accesso alla libreria | Supporto della libreria Python avanzata in più runtime; Tuttavia, l'accesso limitato alle librerie native di Spark potrebbe richiedere l'integrazione manuale. | Supporta completamente MLlib, Spark SQL, PySpark e Spark Streaming. |
| Gestione di Delta Lake | Il runtime di Notebook Python include le librerie deltas e duckdb preinstallate, consentendo sia la lettura che la scrittura di dati di Delta Lake. Tuttavia, alcune funzionalità di Delta Lake potrebbero ancora non essere supportate. | Completamente supportato con compatibilità nativa. |
Prontezza per la Produzione e l'Impresa
| Sceneggiatura | Notebook Python (macchina virtuale a 2 core) | Notebook PySpark (elaborazione Spark) |
|---|---|---|
| Gestione produzione | Funzionalità di produzione limitate; Non supporta variabili di ambiente. | Supporto per i flussi di lavoro di produzione con variabili di ambiente, gestione delle librerie tramite elementi di ambiente e distribuzione basata su elementi. |
Considerazioni sul costo
| Sceneggiatura | Notebook Python (macchina virtuale a 2 core) | Notebook PySpark (elaborazione Spark) |
|---|---|---|
| Profilo di costo | Costo iniziale inferiore (minimo 2 vCore); ideale per carichi di lavoro leggeri e ad hoc. | Costo iniziale più alto (minimo 4 vCore); progettato per carichi di lavoro scalabili di livello aziendale. La scalabilità automatica può ridurre i costi, con conseguente riduzione del costo totale di proprietà (TCO). |
Quando usare Python e PySpark Notebooks
I notebook Fabric offrono flessibilità per un'ampia gamma di utenti e carichi di lavoro. Questa sezione consente di valutare il tipo di notebook più adatto alle esigenze correnti e future.
Usare notebook Python per un'iterazione rapida, un'analisi conveniente e uno sviluppo interattivo. Sono ideali per set di dati più piccoli e includono il supporto nativo per librerie come DuckDB e Polars.
Usare Notebook PySpark per il calcolo distribuito, i flussi di lavoro ETL di livello di produzione o gli scenari in cui elevata concorrenza e le API native di Spark sono essenziali.
Scegliere Notebook Python quando:
- È necessario un avvio rapido (in genere entro pochi secondi) su un contenitore leggero a 2 core.
- Se ridurre al minimo i costi di calcolo è una priorità: per l'analisi interattiva o i micro-processi pianificati.
- Si vuole accedere immediatamente alle librerie installabili pip e a DuckDB e Polars preinstallati.
- È necessario eseguire il test in diverse versioni di runtime di Python.
- I dati si adattano comodamente alla memoria di un singolo nodo.
Scegliere Notebook PySpark Quando:
- I carichi di lavoro superano i limiti di memoria o calcolo di un singolo nodo.
- È necessario che i pool di concorrenza elevata eseguano lavori paralleli nei notebook.
- Stai orchestrando complessi pipeline ETL con la pianificazione FAIR o FIFO.
- Ci si basa su API native di Spark, ad esempio MLlib, Spark SQL o Spark Streaming.
- Sono necessarie funzionalità di livello di produzione, ad esempio variabili di ambiente e gestione delle librerie basate su elementi.
Differenze principali a colpo d'occhio - Riferimento conciso
Vedere Glossario alla fine di questa guida per le definizioni di termini come VORDER, NEE e Items-Based Library Management.
Questa sezione fornisce un riferimento rapido per le differenze tecniche e architetturali fondamentali tra i notebook Python e PySpark.
| Categoria | Python Notebook | Notebook PySpark |
|---|---|---|
| Runtime di calcolo | Contenitore leggero (macchina virtuale a 2 core) | Cluster Spark (pool a nodo singolo o a concorrenza elevata) |
| Ora di avvio | Avvio immediato (secondi tramite il pool di avvio) | L'avvio varia da circa 5 secondi (tramite pool di avvio) a diversi minuti (quando si usano cluster Spark su richiesta). |
| Profilo di costo | Costo inferiore; ideale per attività brevi e prototipi | Costo più alto; adatto per carichi di lavoro scalabili e a esecuzione prolungata |
| Controllo delle versioni di Python/Spark | Più versioni di Python disponibili | Associato a una versione specifica del runtime di Spark |
| Librerie personalizzate | pip install + cartelle delle risorse | comando pip install + cartelle delle risorse + elemento ambienti |
| Funzionalità Di Fabric Spark | Accesso limitato alle funzionalità del motore Spark | Accesso completo: NEE, Autotune, VORDER, Vegas Cache |
| Compatibilità Delta Lake | Parzialmente compatibile; potenziali problemi di prestazioni | Completamente supportato e ottimizzato |
Evoluzione del carico di lavoro: da Python a PySpark
I Fabric Notebooks sono progettati per crescere mano a mano che aumenta la complessità del carico di lavoro. Questa sezione illustra come ridimensionare la strategia notebook dalla semplice esplorazione all'elaborazione dei dati distribuita.
| Fase | Notebook consigliato | Condizione di attivazione |
|---|---|---|
| Inizio | Notebook Python (2 core) | Carichi di lavoro interattivi di piccole dimensioni |
| Aumentare le prestazioni | Notebook Python (passaggio manuale a una macchina virtuale di dimensioni maggiori) | Avvicinamento dei limiti di memoria o CPU |
| Scalabilità orizzontale | Notebook PySpark (passaggio manuale al pool di Spark) | Necessità di calcolo distribuito o esecuzione parallela |
Suggerimento
Quando si passa a PySpark, assicurarsi che il codice usi la sintassi compatibile con Spark. Convalidare i carichi di lavoro nell'ambiente Spark prima della distribuzione nell'ambiente di produzione.
Riassunto
I notebook Python supportano operazioni del kernel, ad esempio l'interruzione e il riavvio del kernel, che accelerano lo sviluppo interattivo. Sono ideali per l'analisi rapida e conveniente di set di dati di piccole e medie dimensioni ed eccellere nella creazione di prototipi, sperimentazione e attività pianificate leggere.
Con l'aumento del volume dei dati e della complessità, i notebook PySpark offrono le funzionalità di potenza di calcolo distribuite e di livello di produzione necessarie per l'analisi aziendale su larga scala. La scelta del notebook appropriato è un processo in continua evoluzione. Iniziare con l'opzione più semplice che soddisfa le esigenze correnti e la scalabilità man mano che aumenta il panorama dei dati.
Fare riferimento al glossario nella pagina finale per le spiegazioni di termini come NEE, VORDER e Las Vegas Cache.
Glossario dei termini
- Item-Based Gestione librerie: gestisce pacchetti versionati e librerie di produzione all'interno dell'elemento Environment.
- Compatibilità Delta Lake: supporto tra ambienti per le tabelle Delta; completamente supportato in PySpark.
- FAIR Scheduling: un criterio di pianificazione che alloca le risorse in modo equo tra i job Spark simultanei.
- Pianificazione FIFO: ordine di esecuzione First-In-First-Out per la programmazione dei lavori.
- NEE (Motore di esecuzione nativo): motore di query ottimizzato univoco per Fabric Spark.
- Pool di Spark: una risorsa di calcolo condivisa per l'esecuzione di carichi di lavoro Spark distribuiti.
- VORDER: ottimizzazione del fabric per i percorsi di esecuzione delle query vettorializzati.
- Accelerazione vettorializzata: elabora i dati in batch usando operazioni vettoriali per ottenere prestazioni più veloci.
- Vegas Cache: una cache in memoria che velocizza l'accesso ripetuto ai dati Spark.