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 that shows the New notebook menu option and setting the Kernel value to Python 3.

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

    Screenshot that shows the dialog prompt to update Python packages.

  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 that shows selecting Papermill in a list of application names.

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

    import papermill
    papermill
    

    Screenshot that shows installation validation for 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 that shows the Kernel value to 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 that shows creating a new parameters cell with Parameters selected.

  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 that shows the output of cells added to test new parameters.

  4. Salvare il notebook come Input.ipynb:

    Screenshot that shows saving the notebook file.

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 that shows the output for new parameters.

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 that shows the New notebook menu option and setting the Kernel value to 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 that shows the Python API execution.

  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 that shows the output for new parameters.

Passaggi successivi

Altre informazioni sui notebook e sulla parametrizzazione: