Criar um notebook parametrizado usando o Papermill

A parametrização no Azure Data Studio está executando o mesmo notebook com um conjunto diferente de parâmetros.

Este artigo mostra como criar e executar um notebook parametrizado no Azure Data Studio usando o kernel do Python.

Observação

Atualmente, você pode usar a parametrização com o Python, o PySpark, o PowerShell e os kernels interativos do .NET.

Pré-requisitos

Instalar e configurar o Papermill no Azure Data Studio

Todas as etapas nesta seção são executadas dentro de um notebook do Azure Data Studio.

  1. Crie um novo bloco de anotações. Altere Kernel para Python 3:

    Screenshot that shows the New notebook menu option and setting the Kernel value to Python 3.

  2. Se for solicitado que você atualize os pacotes do Python quando os seus pacotes precisarem ser atualizados, selecione Sim:

    Screenshot that shows the dialog prompt to update Python packages.

  3. Instalar o Papermill:

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

    Verifique se o Papermill está instalado:

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

    Screenshot that shows selecting Papermill in a list of application names.

  4. Para verificar se o Papermill foi instalado corretamente, verifique a versão do Papermill:

    import papermill
    papermill
    

    Screenshot that shows installation validation for Papermill.

Exemplo de parametrização

Você pode usar um arquivo de notebook de exemplo para percorrer as etapas neste artigo:

  1. Acesse o arquivo do notebook no GitHub. Selecione a opção Bruto.
  2. Selecione Ctrl + S ou clique com o botão direito do mouse e salve o arquivo com a extensão .ipynb.
  3. Abra o arquivo no Azure Data Studio.

Configurar um notebook com parâmetros

Você pode começar com o notebook de exemplo aberto no Azure Data Studio ou concluir as etapas a seguir para criar um notebook. Em seguida, tente usar parâmetros diferentes. Todas as etapas são executadas dentro de um notebook do Azure Data Studio.

  1. Verifique se o Kernel está definido como Python 3:

    Screenshot that shows the Kernel value to Python 3.

  2. Crie uma célula de código. Selecione Parâmetros para marcar a célula como uma célula de parâmetros.

    x = 2.0
    y = 5.0
    

    Screenshot that shows creating a new parameters cell with Parameters selected.

  3. Adicione outras células para testar parâmetros diferentes:

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

    Depois que todas as células forem executadas, a saída será semelhante a este exemplo:

    Screenshot that shows the output of cells added to test new parameters.

  4. Salve o notebook como Input.ipynb:

    Screenshot that shows saving the notebook file.

Executar um notebook do Papermill

Você pode executar o Papermill de duas maneiras:

  • CLI (interface de linha de comando)
  • API de Python

Execução de CLI com parâmetros

Para executar um notebook usando a CLI, no terminal, insira o comando papermill com o notebook de entrada, a localização do notebook de saída e as opções.

Observação

Para saber mais, confira a Documentação da CLI do Papermill.

  1. Execute o notebook de entrada com novos parâmetros:

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

    Esse comando executa o notebook de entrada com novos valores para os parâmetros x e y.

  2. Uma nova célula rotulada como # Injected-Parameters contém os novos valores de parâmetro que foram passados por meio da CLI. Os novos valores de # Injected-Parameters são usados para a nova saída mostrada na última célula:

    Screenshot that shows the output for new parameters.

Execução de API do Python com parâmetros

Observação

Para saber mais, confira a Documentação do Papermill para Python.

  1. Crie um novo bloco de anotações. Altere Kernel para Python 3:

    Screenshot that shows the New notebook menu option and setting the Kernel value to Python 3.

  2. Adicione uma nova célula de código. Em seguida, use a API do Papermill para Python para executar e gerar o notebook parametrizado de saída:

    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. Uma nova célula rotulada como # Injected-Parameters contém os novos valores de parâmetro que foram passados. Os novos valores de # Injected-Parameters são usados para a nova saída mostrada na última célula:

    Screenshot that shows the output for new parameters.

Próximas etapas

Saiba mais sobre notebooks e parametrização: