Gestire le librerie Apache Spark in Microsoft Fabric

Le librerie forniscono codice riutilizzabile che gli sviluppatori di Apache Spark potrebbero voler includere nell'applicazione Spark.

Ogni area di lavoro include un set preinstallato di librerie disponibili nell'esecuzione di Spark che è possibile usare immediatamente in un notebook o in una definizione di processo Spark. Si fa riferimento a queste librerie predefinite.

Importante

Microsoft Fabric è attualmente in ANTEPRIMA. Queste informazioni si riferiscono a un prodotto di versione preliminare che può essere modificato sostanzialmente prima che venga rilasciato. Microsoft non garantisce alcuna garanzia, espressa o implicita, rispetto alle informazioni fornite qui.

In base agli scenari e alle esigenze specifiche, è possibile includere altre librerie. È possibile includere due tipi di librerie:

  • Libreria di feed: le librerie di feed provengono da origini pubbliche o repository. È possibile installare librerie di feed Python da PyPI e Conda specificando l'origine nei portali di gestione delle librerie. È anche possibile usare un file conda di specifica dell'ambiente .yml per installare le librerie.

  • Libreria personalizzata: le librerie personalizzate sono il codice creato dall'utente o dall'organizzazione. .whl, .jar e .tar.gz possono essere gestiti tramite i portali di gestione delle librerie. Si noti che .tar.gz è supportato solo per il linguaggio R; usare .whl per le librerie personalizzate Python.

Riepilogo delle procedure consigliate e di gestione delle librerie

È possibile gestire tutti i tipi di librerie menzionati in precedenza tramite due punti di ingresso diversi: la gestione delle librerie nelle impostazioni dell'area di lavoro e l'installazione in linea.

  • Gestione delle librerie dell'area di lavoro: le impostazioni della libreria dell'area di lavoro definiscono l'ambiente di lavoro per l'intera area di lavoro. Le librerie installate a livello di area di lavoro sono disponibili per tutte le definizioni di processi Notebook e Spark in tale area di lavoro. Aggiornare le librerie dell'area di lavoro quando si vuole configurare l'ambiente condiviso per tutti gli elementi in un'area di lavoro.

    Importante

    La gestione delle librerie dell'area di lavoro è limitata solo agli amministratori dell'area di lavoro. I membri dell'area di lavoro, i collaboratori e i visualizzatori possono visualizzare le librerie installate dall'amministratore.

  • Installazione in linea: con l'installazione in linea, è possibile installare le librerie per la sessione del notebook senza influire sull'ambiente globale. Questa opzione è utile quando si vuole una soluzione temporanea e veloce. Ad esempio, è possibile provare un pacchetto locale o usare alcuni altri pacchetti per una singola sessione. Attualmente, i pacchetti Python e i pacchetti R possono essere gestiti in linea.

    Importante

    L'installazione in linea è specifica della sessione e non persiste tra le sessioni.

    L'interprete Python verrà riavviato per applicare le modifiche della libreria, tutte le variabili definite prima di eseguire la cella di comando verranno perse. È pertanto consigliabile inserire tutti i comandi per aggiungere, eliminare o aggiornare i pacchetti Python all'inizio del notebook.

Riepilogando tutti i comportamenti di gestione delle librerie attualmente disponibili in Fabric:

Nome libreria Aggiornamento dell'area di lavoro Installazione in linea
Python Feed (PyPI & Conda) Supportato Supportato
Python Custom (.whl) Supportato Supportato
Feed R (CRAN) Non supportato Supportato
R custom (.tar.gz) Supportato Supportato
Vaso Supportato Non supportato

Importante

Attualmente sono presenti limitazioni della libreria con estensione jar .

  • Se si carica un file con estensione jar con una versione diversa della libreria predefinita, non sarà efficace. Solo il nuovo file jar sarà efficace per le sessioni Spark.
  • %% configura i comandi magic non sono completamente supportati in Fabric in questo momento. Non usarlo per portare il file jar nella sessione del notebook.

Gestione delle librerie nell'impostazione dell'area di lavoro

Nelle impostazioni dell'area di lavoro è disponibile il portale di gestione delle librerie a livello di area di lavoro: Area di lavoro che imposta> lagestione della libreriadi ingegneria dei> dati.

Gestire la libreria dei feed nell'impostazione dell'area di lavoro

In questa sezione viene illustrato come gestire le librerie di feed da PyPI o Conda usando il portale di gestione delle librerie dell'area di lavoro.

  • Visualizzare e cercare la libreria dei feed: è possibile visualizzare le librerie installate e il relativo nome, versione e dipendenze nel portale di gestione delle librerie. È anche possibile usare la casella di filtro nell'angolo superiore destro per trovare rapidamente una libreria installata.

  • Aggiungere una nuova libreria di feed: l'origine predefinita per l'installazione delle librerie di feed Python è PyPI. È anche possibile selezionare "Conda" dal pulsante a discesa accanto al pulsante aggiungi. Per aggiungere una nuova libreria, selezionare il pulsante e immettere il + nome e la versione della libreria nella nuova riga.

    In alternativa, è possibile caricare un file con estensione yml per installare più librerie di feed contemporaneamente.

  • Rimuovere la libreria di feed esistente: per rimuovere una libreria, selezionare il pulsante Cestino nella relativa riga.

  • Aggiornare la versione della libreria feed esistente: per modificare la versione di una libreria, selezionare una versione diversa dalla casella a discesa nella riga.

  • Esaminare e applicare le modifiche: è possibile esaminare le modifiche nel pannello "Modifiche in sospeso". È possibile rimuovere una modifica facendo clic sul pulsante X oppure ignorando tutte le modifiche facendo clic sul pulsante Elimina nella parte inferiore della pagina. Quando si è soddisfatti delle modifiche, selezionare Applica per rendere effettive queste modifiche.

Gestire le librerie personalizzate nell'impostazione dell'area di lavoro

In questa sezione viene illustrato come gestire i pacchetti personalizzati, ad esempio .jar, usando il portale di gestione delle librerie dell'area di lavoro.

  • Caricare una nuova libreria personalizzata: è possibile caricare i codici personalizzati come pacchetti nel runtime di Fabric tramite il portale. Il modulo di gestione delle librerie consente di risolvere potenziali conflitti e scaricare le dipendenze nelle librerie personalizzate.

    Per caricare un pacchetto, selezionare il pulsante Carica nel pannello Librerie personalizzate e selezionare una directory locale.

  • Rimuovere la libreria personalizzata esistente: è possibile rimuovere una libreria personalizzata dal runtime spark facendo clic sul pulsante Cestino nel pannello Librerie personalizzate .

  • Esaminare e applicare le modifiche: come per le librerie di feed, è possibile esaminare le modifiche nel pannello Modifiche in sospeso e applicarle all'ambiente dell'area di lavoro Spark di Fabric.

Nota

Per i pacchetti con estensione whl , il processo di installazione della libreria scarica automaticamente le dipendenze dalle origini pubbliche. Tuttavia, questa funzionalità non è disponibile per i pacchetti tar.gz . È necessario caricare manualmente i pacchetti dipendenti del pacchetto con estensione tar.gz principale.

Annullare l'aggiornamento

Il processo di aggiornamento della libreria potrebbe richiedere tempo per completare. È possibile annullare il processo e continuare la modifica durante l'aggiornamento. Il pulsante Annulla viene visualizzato durante il processo.

Risoluzione dei problemi

Se il processo di aggiornamento della libreria ha esito negativo, viene ricevuta una notifica. È possibile selezionare il pulsante Visualizza log per visualizzare i dettagli del log e risolvere il problema. Se si verifica un errore di sistema, è possibile copiare l'ID attività radice e segnalarlo al team di supporto.

Installazione in linea

Se si desidera usare alcuni altri pacchetti per un test rapido in un'esecuzione interattiva del notebook, l'installazione in linea è l'opzione più comoda.

Importante

%pip è consigliato anziché !pip. !pip è un comando shell predefinito IPython che presenta le limitazioni seguenti:

  • !pip installerà solo il pacchetto nel nodo driver senza nodi executor.
  • I pacchetti installati tramite !pip non influiscono sui conflitti con i pacchetti predefiniti o quando è già importato in un notebook.

Tuttavia, %pip gestirà tutti gli scenari indicati in precedenza. Le librerie installate tramite %pip saranno disponibili sia nei nodi driver che in quello dell'executor e saranno ancora efficaci anche se sono già importate.

Suggerimento

  • Il comando %conda install richiede in genere più tempo del comando %pip install per installare nuove librerie Python, perché controlla le dipendenze complete e risolve i conflitti. È possibile usare l'installazione di %conda per maggiore affidabilità e stabilità. È possibile usare %pip install se si è certi che la libreria da installare non sia in conflitto con le librerie preinstallate nell'ambiente di runtime.
  • Tutti i comandi python disponibili nella riga e i relativi chiarimenti sono disponibili: %pip comandi e %conda comandi

Gestire le librerie di feed Python tramite l'installazione in linea

In questo esempio viene illustrato come usare i comandi da riga per gestire le librerie. Si supponga di voler usare altair, una potente libreria di visualizzazioni per Python, per un'esplorazione dei dati monouso. Si supponga che la libreria non sia installata nell'area di lavoro. Nell'esempio seguente vengono usati i comandi conda per illustrare i passaggi.

È possibile usare i comandi nella riga per abilitare altair nella sessione del notebook senza influire sulle altre sessioni del notebook o di altri elementi.

  1. Eseguire i comandi seguenti in una cella di codice del notebook per installare la libreria altair e vega_datasets, che contiene il set di dati che è possibile usare per visualizzare:

    %conda install altair          # install latest version through conda command
    %conda install vega_datasets   # install latest version through conda command
    

    Il log nell'output della cella indica il risultato dell'installazione.

  2. Importare il pacchetto e il set di dati eseguendo i codici seguenti in un'altra cella del notebook:

    import altair as alt
    from vega_datasets import data
    
  3. È ora possibile provare con 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 Python tramite l'installazione in linea

È possibile caricare le librerie personalizzate python nella cartella File della lakehouse collegata al notebook. Passare al lakehouse, selezionare l'icona ... nella cartella File e caricare la libreria personalizzata.

Dopo il caricamento, è possibile usare il comando seguente per installare la libreria personalizzata nella sessione del notebook:

# install the .whl through pip command
%pip install /lakehouse/default/Files/wheel_file_name.whl             

Gestire le librerie dei feed R tramite l'installazione in linea

Fabric supporta install.packages(),, remove.packages() e devtools:: comandi per gestire le librerie R.

Suggerimento

Tutti i comandi R disponibili nella riga di comando e i relativi chiarimenti sono disponibili: comando install.packages, comando remove.package e comandi devtools.

Seguire questo esempio per completare i passaggi dell'installazione di una libreria di feed R:

  1. Impostare il linguaggio di lavoro su "SparkR(R)" nella barra multifunzione del notebook.

  2. Eseguire il comando seguente in una cella del notebook per installare caesar library:

    install.packages("caesar")
    
  3. Ora è possibile provare con la libreria cesare con ambito sessione con processo Spark

    library(SparkR)
    sparkR.session()
    
    hello <- function(x) {
    library(caesar)
    caesar(x)
    }
    spark.lapply(c("hello world", "good morning", "good evening"), hello)
    

Passaggi successivi