Creare un notebook parametrizzato usando Papermill

La parametrizzazione in Azure Data Studio consiste nell'eseguire lo stesso notebook con un set diverso di parametri.

Questo articolo illustra come creare ed eseguire un notebook parametrizzato in Azure Data Studio mediante il kernel di Python.

Nota

È attualmente possibile usare la parametrizzazione con i kernel di Python, PySpark, PowerShell e .NET Interactive.

Prerequisiti

Installare e configurare Papermill in Azure Data Studio

Tutti i passaggi descritti in questa sezione vengono eseguiti in un notebook di Azure Data Studio.

  1. Creare un nuovo notebook. Impostare Kernel su Python 3:

    Screenshot che mostra l'opzione di menu Nuovo notebook e l'impostazione del valore Kernel su Python 3.

  2. Se viene richiesto di aggiornare i pacchetti Python quando i pacchetti richiedono l'aggiornamento, selezionare :

    Screenshot che mostra la finestra di dialogo che richiede di aggiornare i pacchetti Python.

  3. Installare Papermill:

    import sys
    !{sys.executable} -m pip install papermill --no-cache-dir --upgrade
    

    Verificare che Papermill sia installato:

    import sys
    !{sys.executable} -m pip list
    

    Screenshot che mostra la selezione di Papermill in un elenco di nomi di applicazione.

  4. Per verificare che Papermill sia installato correttamente, controllare la versione di Papermill:

    import papermill
    papermill
    

    Screenshot che mostra la convalida dell'installazione per Papermill.

Esempio di parametrizzazione

È possibile usare un file di notebook di esempio per eseguire i passaggi descritti in questo articolo:

  1. Passare al file del notebook in GitHub. Selezionare Non elaborato.
  2. Selezionare CTRL+S o fare clic con il pulsante destro del mouse e quindi salvare il file con estensione ipynb.
  3. Aprire il file in Azure Data Studio.

Configurare un notebook parametrizzato

È possibile iniziare con il notebook di esempio aperto in Azure Data Studio o completare la procedura seguente per creare un notebook. Provare quindi a usare parametri diversi. Tutti i passaggi vengono eseguiti all'interno di un notebook di Azure Data Studio.

  1. Verificare che Kernel sia impostato su Python3:

    Screenshot che mostra il valore Kernel impostato su Python 3.

  2. Creare una nuova cella di codice. Selezionare Parametri per contrassegnare la cella come cella di parametri.

    x = 2.0
    y = 5.0
    

    Screenshot che mostra la creazione di una nuova cella di parametri con l'opzione Parametri selezionata.

  3. Aggiungere altre celle per testare parametri diversi:

    addition = x + y
    multiply = x * y
    
    print("Addition: " + str(addition))
    print("Multiplication: " + str(multiply))
    

    Dopo l'esecuzione di tutte le celle, l'output sarà simile all'esempio seguente:

    Screenshot che mostra l'output di celle aggiunte per testare nuovi parametri.

  4. Salvare il notebook come Input.ipynb:

    Screenshot che mostra il salvataggio del file del notebook.

Eseguire un notebook di Papermill

È possibile eseguire Papermill in due modi:

  • Interfaccia della riga di comando (CLI)
  • API Python

Esecuzione dell'interfaccia della riga di comando parametrizzata

Per eseguire un notebook usando l'interfaccia della riga di comando, nel terminale immettere il comando papermill con il notebook di input, il percorso del notebook di output e le opzioni.

  1. Eseguire il notebook di input con nuovi parametri:

    papermill Input.ipynb Output.ipynb -p x 10 -p y 20
    

    Questo comando esegue il notebook di input con nuovi valori per i parametri x e y.

  2. Una nuova cella con etichetta # Injected-Parameters contiene i nuovi valori di parametro passati tramite l'interfaccia della riga di comando. I nuovi valori # Injected-Parameters vengono usati per il nuovo output visualizzato nell'ultima cella:

    Screenshot che mostra l'output per i nuovi parametri.

Esecuzione dell'API Python parametrizzata

Nota

Per altre informazioni, vedere la documentazione di Python Papermill.

  1. Creare un nuovo notebook. Impostare Kernel su Python 3:

    Screenshot che mostra l'opzione di menu Nuovo notebook e l'impostazione del valore Kernel su Python 3.

  2. Aggiungere una nuova cella di codice. Usare quindi l'API Python Papermill per eseguire e generare il notebook parametrizzato di output:

    import papermill as pm
    
    pm.execute_notebook(
    '/Users/vasubhog/GitProjects/AzureDataStudio-Notebooks/Demo_Parameterization/Input.ipynb',
    '/Users/vasubhog/GitProjects/AzureDataStudio-Notebooks/Demo_Parameterization/Output.ipynb',
    parameters = dict(x = 10, y = 20)
    )
    

    Screenshot che mostra l'esecuzione dell'API Python.

  3. Una nuova cella con etichetta # Injected-Parameters contiene i nuovi valori di parametro passati. I nuovi valori # Injected-Parameters vengono usati per il nuovo output visualizzato nell'ultima cella:

    Screenshot che mostra l'output per i nuovi parametri.

Passaggi successivi

Altre informazioni sui notebook e sulla parametrizzazione: