Condividi tramite


Gestire le librerie negli ambienti Fabric

Gli ambienti di Microsoft Fabric offrono una configurazione flessibile per l'esecuzione di processi Spark. Le librerie forniscono codice riutilizzabile per notebook e definizioni di processi Spark. Oltre alle librerie predefinite fornite con ogni runtime di Spark, è possibile installare librerie pubbliche e personalizzate negli ambienti Fabric.

Nota

Passare all'area di lavoro in cui si trova l'ambiente, selezionare le opzioni di gestione dell'ambiente e della libreria nel riquadro di spostamento a sinistra. Se non è stato creato un ambiente, vedere Creare, configurare e usare un ambiente in Fabric.

Librerie predefinite

In Fabric, ogni versione di ambiente di esecuzione viene precaricata con un insieme selezionato di librerie integrate ottimizzate per prestazioni, compatibilità e sicurezza in Python, R, Java e Scala. La pagina Librerie predefinite nell'ambiente consente di esplorare e cercare queste librerie preinstallate in base al runtime selezionato.

Queste librerie vengono installate per impostazione predefinita in ogni ambiente e non possono essere modificate. Saranno disponibili se si esegue il notebook o la definizione del processo Spark in questo ambiente.

Per visualizzare l'elenco dei pacchetti preinstallati e delle relative versioni per ogni runtime, vedere Runtime di Apache Spark in Fabric.

Importante

Fabric supporta diversi modi per gestire i pacchetti. Per altre opzioni e procedure consigliate, vedere Gestire le librerie Apache Spark in Fabric. Se l'area di lavoro usa funzionalità di rete come la protezione dell'accesso in uscita dell'area di lavoro o le reti virtuali gestite, l'accesso ai repository pubblici, ad esempio PyPI, viene bloccato. Per indicazioni, vedere Gestire le librerie con accesso di rete limitato in Fabric. Se le versioni della libreria predefinite non soddisfano le proprie esigenze, è possibile eseguirne l'override specificando la versione desiderata nella sezione del repository esterno o caricando i propri pacchetti personalizzati.

Repository esterni

È possibile aggiungere librerie da repository pubblici come PyPI e Conda o da repository privati. Le opzioni della modalità di origine e pubblicazione variano a seconda del tipo di repository. Quando si aggiunge una libreria, si seleziona una modalità di pubblicazione (completa o rapida). Per informazioni dettagliate sul funzionamento di ogni modalità, vedere Selezionare la modalità di pubblicazione per le librerie.

Screenshot che mostra la schermata delle librerie dei repository esterni dell'ambiente.

Aggiungere una libreria da un repository pubblico

I repository pubblici consentono di installare pacchetti da PyPI o Conda.

  1. Nella scheda Repository esterni selezionare Aggiungi libreria.

  2. Selezionare Aggiungi libreria dal repository pubblico.

  3. Selezionare l'origine (PyPI o Conda).

  4. Immettere il nome della libreria nella casella di ricerca. Durante la digitazione, la casella di ricerca suggerisce librerie popolari, ma l'elenco è limitato. Se la libreria non viene visualizzata, immettere il nome completo.

    Screenshot che mostra il processo di aggiunta di una libreria da un repository pubblico.

    Se viene trovato il nome della libreria, sono visualizzate le versioni disponibili.

  5. Selezionare la versione e quindi salvare e pubblicare l'ambiente.

Aggiungere una libreria da un repository privato

I repository privati consentono di installare i pacchetti usando pip o conda.

  1. Nella scheda Repository esterni selezionare Aggiungi libreria.

  2. Selezionare Aggiungi libreria dal repository privato.

  3. Selezionare l'origine (pip o conda).

  4. Immettere il nome e la versione della libreria. Assicurarsi di immettere il nome e la versione della libreria in modo accurato, perché la ricerca nelle librerie nei repository privati durante la digitazione non è supportata. Le informazioni sui pacchetti non corrette causano l'esito negativo della pubblicazione.

Aggiungere librerie da un feed di Azure Artifact

I feed degli artefatti di Azure possono essere limitati a un progetto (privato) o a un'organizzazione (pubblica). Fabric supporta entrambi gli ambiti. Indipendentemente dalla visibilità del feed in Azure DevOps, Fabric si connette sempre tramite una connessione di Data Factory autenticata, quindi è necessario configurare una connessione anche per i feed pubblici.

Nota

L'installazione di librerie dal feed di Artefatti di Azure è supportata in Spark 3.5. Non è supportato nelle aree di lavoro con collegamento privato o protezione dall'accesso in uscita abilitata.

Configurare una connessione per il feed di Azure Artifact

Fabric non archivia le credenziali direttamente. Creare invece una connessione tramite Data Factory Connector e farvi riferimento in base all'ID connessione in un file YML. Altre informazioni sul feed degli artefatti di Azure.

  1. Selezionare l'icona a forma di ingranaggio Impostazioni nell'angolo in alto a destra del portale di Infrastruttura e quindi selezionare Gestisci connessioni e gateway.

    Screenshot che mostra il punto di ingresso dei connettori dell'ambiente per i repository esterni.

  2. Creare una nuova connessione. Selezionare + Nuovo, quindi selezionare Cloud come tipo, e scegliere Azure Artifact Feed (Anteprima) come tipo di connessione.

    Screenshot che mostra un esempio di creazione di una connessione cloud con l'opzione Azure Artifact Feed (anteprima) selezionata.

  3. Immettere l'URL del feed e un token di accesso personale (PAT) con ambito lettura pacchetti>.

  4. Selezionare Consenti artefatti Code-First, come i notebook, per accedere a questa connessione (Anteprima).

    Screenshot che mostra un esempio di creazione di una nuova schermata del connettore.

  5. Selezionare Crea per salvare la connessione. Dovrebbe essere visualizzato nell'elenco delle connessioni.

  6. Registrare l'ID connessione dopo la creazione. perché sarà necessario nel passaggio successivo.

Preparare e caricare un file YML

Creare un file YML che elenca i pacchetti da installare e fa riferimento all'ID connessione anziché all'URL e alle credenziali del feed. Fabric usa l'ID connessione per autenticare ed eseguire il pull dei pacchetti dal feed in fase di pubblicazione.

Una configurazione pip standard fa riferimento direttamente all'URL e alle credenziali del feed:

dependencies:
  - pip:
    - fuzzywuzzy==0.18.0
    - wordcloud==1.9.4
    - --index-url <URL_TO_THE_AZURE_ARTIFACT_FEED_WITH_AUTH>

Per Fabric sostituire l'URL con l'ID di connessione registrato in precedenza:

dependencies:
  - pip:
    - fuzzywuzzy==0.18.0
    - wordcloud==1.9.4
    - --index-url <YOUR_CONNECTION_ID>

Caricare il file YML direttamente nell'ambiente oppure passare alla visualizzazione dell'editor YML e incollare il contenuto. Quando si pubblica l'ambiente, Fabric legge i pacchetti dal feed e li rende persistenti. Se si aggiornano i pacchetti nel feed di Azure Artifact, ripubblica l'ambiente per ottenere le versioni più recenti.

Nota

  • Nella visualizzazione Elenco è possibile aggiungere, rimuovere o modificare le librerie dalle connessioni di feed esistenti. Per aggiungere, rimuovere o modificare una connessione feed stessa, passare alla visualizzazione dell'editor YML e aggiornare direttamente il file YML.
  • È possibile specificare più feed nel file YML. Fabric li cerca nell'ordine elencato fino a quando non viene trovato il pacchetto. I repository pubblici, ad esempio PyPI e Conda, vengono cercati automaticamente, anche se non sono inclusi nel file YML.
  • Se non è possibile trovare un pacchetto nel file YML in uno dei feed elencati, la pubblicazione non riesce. Controllare il nome e la versione del pacchetto prima della pubblicazione.

Gestire librerie esterne

Dopo aver aggiunto librerie esterne, è possibile gestirle dalla sezione Repository esterni .

  • Filter : usare un nome di pacchetto come parola chiave per filtrare l'elenco di librerie esterne.
  • Aggiorna : selezionare una libreria per aggiornarne il nome, la versione o il tipo di origine nella visualizzazione Elenco. Nella visualizzazione dell'editor YML è anche possibile aggiornare l'ID connessione del feed di artefatti di Azure.
  • Elimina : passare il puntatore del mouse su una riga di libreria per visualizzare l'opzione Elimina oppure selezionare più librerie e quindi selezionare Elimina. Puoi anche rimuovere le librerie utilizzando la visualizzazione dell'editor YML.
  • Visualizzare le dipendenze : passare il puntatore del mouse su una libreria di repository pubblici e selezionare Visualizza dipendenze per recuperare l'albero delle dipendenze. Le informazioni sulle dipendenze non sono disponibili per le librerie private o provenienti da un Azure Artifact Feed.
  • Esporta in .yml : esportare l'elenco completo di librerie esterne in un .yml file e scaricarlo nella directory locale.

Librerie personalizzate

Le librerie personalizzate fanno riferimento al codice compilato dall'utente o dall'organizzazione. Fabric supporta file di libreria personalizzati nei formati .whl, .py, .jar e .tar.gz. Come per le librerie esterne, si sceglie una modalità di pubblicazione (completa o rapida) quando si caricano pacchetti personalizzati. Per informazioni dettagliate, vedere Selezionare la modalità di pubblicazione per le librerie.

Nota

Fabric supporta solo i .tar.gz file del linguaggio R. Usare il formato di file .whl e .py per il linguaggio Python.

Usare i pulsanti Carica e Scarica nella pagina Librerie personalizzate per aggiungere librerie dalla directory locale o scaricarle localmente.

Screenshot che mostra la schermata Librerie personalizzate dell'ambiente.

Per eliminare una libreria, passare il puntatore del mouse sulla riga e selezionare l'icona del cestino oppure selezionare più librerie e quindi selezionare Elimina.

Selezionare la modalità di pubblicazione per le librerie

Quando si aggiungono librerie esterne o personalizzate, si sceglie una modalità di pubblicazione. La modalità completa è disponibile per tutte le origini di libreria e i tipi di carico di lavoro. La modalità rapida è disponibile per i repository pubblici e la maggior parte dei formati di libreria personalizzati, ma solo quando si eseguono notebook.

Screenshot che mostra le diverse modalità nella schermata di gestione della libreria.

La tabella seguente illustra la modalità di pubblicazione supportata da ogni origine della libreria.

Fonte biblioteca Modalità completa Modalità rapida
Repository pubblico (PyPI/Conda)
Repository privato (pip/conda) No
Feed di artefatti di Azure No
Personalizzato .whl, .py, .tar.gz
.jar personalizzato No

Scegliere la modalità corretta per le proprie esigenze

Usare la complessità delle dipendenze e il tipo di carico di lavoro per decidere quale modalità si adatta.

  • La modalità completa risolve le dipendenze, convalida la compatibilità e crea uno snapshot della libreria stabile durante la pubblicazione. Lo snapshot viene distribuito all'avvio di una nuova sessione. Ideale per set di dipendenze di dimensioni maggiori ,ad esempio più di 10 pacchetti, carichi di lavoro di produzione e pipeline. La pubblicazione richiede da 2 a 10 minuti; l'avvio della sessione aggiunge 30 secondi a 2 minuti a seconda delle dimensioni delle dipendenze.
  • La modalità rapida ignora l'elaborazione delle dipendenze durante la pubblicazione e installa i pacchetti all'avvio della sessione del notebook. Ideale per set di dipendenze più leggeri, iterazione rapida e sperimentazione in fase iniziale. La pubblicazione viene completata in pochi secondi; il tempo di installazione si sposta all'avvio della sessione.

È possibile combinare le modalità durante lo sviluppo. Un modello comune consiste nell'eseguire l'iterazione in modalità rapida, quindi spostare le dipendenze convalidate in modalità completa per uno snapshot di produzione stabile. È anche possibile mantenere invariato uno snapshot in modalità completa esistente e aggiungere nuovi pacchetti di test in modalità rapida, ovvero lo snapshot in modalità completa distribuisce prima, quindi i pacchetti in modalità rapida vengono installati in primo piano.

Limitazioni e comportamento della modalità

Tenere presenti questi vincoli quando si lavora con le modalità di pubblicazione.

  • La modalità rapida funziona solo con i notebook, non con le definizioni dei processi Spark.
  • Per spostare una libreria personalizzata tra le modalità, scaricare il file, rimuoverlo dalla modalità corrente, quindi caricarlo nella modalità di destinazione. I trasferimenti diretti tra le modalità non sono supportati.
  • I log di installazione non vengono visualizzati nel notebook. Usare Monitoraggio (livello 2) per tenere traccia dello stato di avanzamento e risolvere i problemi.
  • Quando entrambe le modalità contengono pacchetti, lo snapshot in modalità completa viene applicato per primo. I pacchetti in modalità rapida vengono installati in primo piano ed eseguono l'override di qualsiasi pacchetto in modalità completa con lo stesso nome.
  • I pacchetti in modalità rapida vengono installati quando viene eseguita la prima cella di codice per tale linguaggio. Ad esempio, i pacchetti Python vengono installati quando viene eseguita la prima cella Python e i pacchetti R vengono installati quando viene eseguita la prima cella R.