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.
Una libreria è un pacchetto riutilizzabile di codice, ad esempio un pacchetto Python da PyPI, un pacchetto R da CRAN o un file JAR Java, che è possibile importare nei notebook e nelle definizioni dei processi Spark per aggiungere funzionalità senza scriverlo da zero. Microsoft Fabric offre più meccanismi che consentono di gestire e usare le librerie.
- Librerie predefinite: ogni runtime di Fabric Spark offre una ricca serie di librerie preinstallate più diffuse. È possibile trovare l'elenco completo delle librerie predefinite in Runtime di Fabric Spark.
- Librerie pubbliche: le librerie pubbliche provengono da repository come PyPI e Conda, attualmente supportati.
- Librerie personalizzate: le librerie personalizzate fanno riferimento al codice compilato dall'utente o dall'organizzazione. Fabric li supporta nei formati .whl, .jar e .tar.gz. Fabric supporta .tar.gz solo per il linguaggio R. Per le librerie Python personalizzate, usare il formato .whl.
Riepilogo delle procedure consigliate per la gestione delle librerie
Gli scenari seguenti descrivono le procedure consigliate quando si usano librerie in Microsoft Fabric.
Modalità di pubblicazione dell'ambiente (rapido e completo)
Quando si installano librerie in un ambiente Fabric, si sceglie una modalità di pubblicazione che controlla la modalità di distribuzione delle librerie alle sessioni Spark.
- La modalità rapida viene pubblicata in circa 5 secondi. Le librerie vengono installate all'avvio di una sessione del notebook anziché durante la pubblicazione. Se un pacchetto in modalità rapida ha lo stesso nome di un pacchetto in modalità completa, la versione in modalità rapida sostituisce solo la versione in modalità completa per tale sessione. Usare la modalità rapida per lo sviluppo rapido di notebook iterativi e la sperimentazione in fase iniziale.
- La modalità completa crea uno snapshot della libreria stabile e riproducibile. La pubblicazione richiede in genere da 3 a 6 minuti perché il sistema risolve le dipendenze e convalida la compatibilità. L'avvio della sessione aggiunge da 1 a 3 minuti per la distribuzione delle dipendenze, in base alla loro dimensione. Usare la modalità completa per le pipeline, le esecuzioni pianificate e i carichi di lavoro condivisi che richiedono ambienti coerenti e riproducibili.
Modalità completa con un pool live personalizzato
Per combinare la stabilità della modalità completa con l'avvio rapido della sessione, configurare un pool live personalizzato che si collega a un ambiente in modalità completa. Il pool attivo idrata i cluster con lo snapshot della libreria in modalità Full in maniera preventiva, consentendo tempi di avvio della sessione di circa 5 secondi, mantenendo allo stesso tempo lo snapshot riproducibile.
Per informazioni dettagliate su ogni modalità, vedere Gestire le librerie negli ambienti di Fabric.
Scenario 1: l'amministratore imposta le librerie predefinite per l'area di lavoro
Per impostare le librerie predefinite, è necessario essere l'amministratore dell'area di lavoro. L'amministratore può eseguire queste attività:
- Creare un nuovo ambiente
- Installare le librerie richieste nell'ambiente
- Collegare questo ambiente come impostazione predefinita dell'area di lavoro
Quando i notebook e le definizioni dei processi Spark sono collegati alle impostazioni dell'area di lavoro, iniziano le sessioni con le librerie installate nell'ambiente predefinito dell'area di lavoro.
Scenario 2: rendere persistenti le specifiche della libreria per uno o più elementi di codice
Se sono presenti librerie comuni per elementi di codice diversi e non è necessario aggiornarle di frequente, installare le librerie in un ambiente e collegarle agli elementi di codice.
Il tempo di pubblicazione dipende dalla modalità scelta. La modalità rapida pubblica in circa 5 secondi e installa le librerie all'avvio della sessione. La modalità completa risolve le dipendenze e crea uno snapshot stabile; la pubblicazione richiede in genere da 3 a 6 minuti e l'avvio della sessione aggiunge da 1 a 3 minuti per la distribuzione delle dipendenze.
Il vantaggio di questo approccio è che le librerie installate correttamente sono sicuramente disponibili quando una sessione Spark inizia con l'ambiente collegato. Consente di risparmiare il lavoro di mantenere librerie comuni per i progetti ed è consigliato per gli scenari di pipeline a causa della stabilità.
Scenario 3: installazione in linea in esecuzione interattiva
Se si scrive codice in modo interattivo in un notebook, l'installazione inline è l'approccio migliore per l'aggiunta di librerie PyPI o conda o la convalida di librerie personalizzate per un uso monouso. I comandi inline rendono disponibile una libreria solo nella sessione Spark del notebook corrente, consentendo l'installazione rapida, ma la libreria installata non viene mantenuta tra le sessioni.
Poiché %pip install può generare diversi alberi delle dipendenze dall'esecuzione all'esecuzione, che potrebbero causare conflitti di libreria, i comandi inline vengono disattivati per impostazione predefinita nelle esecuzioni della pipeline e non sono consigliati per le pipeline.
Nota
Le librerie installate tramite comandi inline (ad esempio %pip install o %conda install) e le librerie aggiunte da una cartella risorse del notebook o dell'ambiente hanno come ambito la sessione o il notebook corrente. Non sono influenzati dalla pubblicazione dell'ambiente né in modalità rapida né in modalità completa.
Riepilogo dei tipi di libreria supportati
| Tipo di libreria | Gestione delle librerie ambientali | Installazione in linea |
|---|---|---|
| Python pubblico (PyPI e Conda) | Supportato/a | Supportato/a |
| Python personalizzato (.whl) | Supportato/a | Supportato/a |
| R Public (CRAN) | Non supportato | Supportato/a |
| R personalizzato (.tar.gz) | Supportato come libreria personalizzata | Supportato/a |
| JAR | Supportato come libreria personalizzata | Supportato/a |
Installazione inline
I comandi inline consentono di gestire le librerie all'interno di singole sessioni di notebook.
Installazione inline di Python
Il sistema riavvia l'interprete Python per applicare le modifiche della libreria. Tutte le variabili definite prima di eseguire la cella di comando vengono perse. Inserire tutti i comandi per l'aggiunta, l'eliminazione o l'aggiornamento di pacchetti Python all'inizio del notebook.
Per impostazione predefinita, i comandi inline per la gestione delle librerie Python sono disabilitati nelle esecuzioni della pipeline dei notebook. Per abilitare %pip install per una pipeline, aggiungere _inlineInstallationEnabled come parametro booleano impostato su True nei parametri dell'attività del notebook.
Nota
Il %pip install comando può produrre risultati incoerenti tra un'esecuzione e l'altra. Installare le librerie in un ambiente e utilizzare invece l'ambiente all'interno di una pipeline.
Il %pip install comando non è supportato in modalità concorrenza elevata.
Nelle esecuzioni di riferimento dei notebook i comandi inline per la gestione delle librerie Python non sono supportati. Rimuovere questi comandi inline dal notebook di riferimento per garantire l'esecuzione corretta.
Usare %pip anziché !pip. Il !pip comando è un comando della shell predefinito IPython con le limitazioni seguenti:
-
!pipinstalla un pacchetto solo nel nodo driver, non nei nodi executor. - I pacchetti installati tramite
!pipnon tengono conto dei conflitti con pacchetti predefiniti o pacchetti già importati in un notebook.
%pip gestisce questi scenari. Le librerie installate tramite %pip sono disponibili nei nodi driver ed executor e diventano effettive anche se la libreria è già importata.
Suggerimento
Il comando %conda install generalmente richiede più tempo del comando %pip install per l’installazione di nuove librerie Python. Controlla le dipendenze complete e risolve i conflitti.
Usare %conda install per maggiore affidabilità e stabilità. Usare %pip install se si è certi che la libreria da installare non sia in conflitto con le librerie preinstallate nell'ambiente di runtime.
Per tutti i chiarimenti e i comandi inline di Python disponibili, vedere Comandi %pip e Comandi %conda.
Gestire librerie pubbliche di Python tramite installazione inline
In questo esempio viene illustrato come usare i comandi inline per gestire le librerie. Si supponga di voler usare altair, una potente libreria di visualizzazioni per Python, per un'esplorazione dei dati monouso e che la libreria non sia installata nell'area di lavoro. Nell'esempio seguente vengono usati comandi conda per illustrare i passaggi.
È possibile usare comandi inline per abilitare altair nella sessione del notebook senza influire sulle altre sessioni del notebook o altri elementi.
Usare i comandi seguenti in una cella di codice del notebook. Il primo comando installa la libreria altair. Installare anche vega_datasets, che contiene un modello semantico che è possibile usare per la visualizzazione.
%conda install altair # install latest version through conda command %conda install vega_datasets # install latest version through conda commandL'output della cella indica il risultato dell'installazione.
Importare il pacchetto e il modello semantico usando il codice seguente in un'altra cella del notebook.
import altair as alt from vega_datasets import dataOra è possibile provare a usare la libreria altair con ambito sessione.
# load a simple dataset as a pandas DataFrame cars = data.cars() alt.Chart(cars).mark_point().encode( x='Horsepower', y='Miles_per_Gallon', color='Origin', ).interactive()
Gestire librerie personalizzate di Python tramite installazione inline
È possibile caricare le librerie personalizzate Python nella cartella resources del notebook o nell'ambiente collegato. La cartella delle risorse è un file system integrato fornito da ogni notebook e ambiente. Per altri dettagli, vedere Risorse del notebook. Dopo aver caricato una libreria, è possibile trascinarla in una cella di codice per generare automaticamente il comando di installazione. In alternativa, è possibile eseguire il comando seguente:
# install the .whl through pip command from the notebook built-in folder
%pip install "builtin/wheel_file_name.whl"
Nota
Le librerie personalizzate installate dalla cartella Risorse tramite i comandi inline sono per sessione e per notebook. Non sono influenzati dalla pubblicazione dell'ambiente.
Installazione in linea di R
Per gestire le librerie di R, Fabric supporta i comandi install.packages(), remove.packages() e devtools::. Per tutti i chiarimenti e i comandi inline di R disponibili, vedere il comando install.packages e il comando remove.package.
Gestire librerie pubbliche di R tramite installazione inline
Seguire questo esempio per esaminare i passaggi dell'installazione di una libreria pubblica di R.
Per installare una libreria di feed di R:
Impostare la lingua di lavoro su SparkR (R) nella barra del nastro del notebook.
Installare la libreria caesar usando il comando seguente in una cella del notebook.
install.packages("caesar")Ora puoi sperimentare con la libreria caesar a livello di sessione tramite un processo Spark.
library(SparkR) sparkR.session() hello <- function(x) { library(caesar) caesar(x) } spark.lapply(c("hello world", "good morning", "good evening"), hello)
Gestire librerie Jar tramite installazione in linea
È possibile aggiungere .jar file alle sessioni del notebook con il comando seguente.
%%configure -f
{
"conf": {
"spark.jars": "abfss://<<Lakehouse prefix>>.dfs.fabric.microsoft.com/<<path to JAR file>>/<<JAR file name>>.jar",
}
}
La cella di codice precedente usa l'archiviazione lakehouse come esempio. In Esplora notebook è possibile copiare il percorso ABFS completo del file e sostituirlo nel codice.