Erstellen eines parametrisierten Notebooks mit Papermill

Bei der Parametrisierung in Azure Data Studio wird das gleiche Notebook mit unterschiedlichen Parametern ausgeführt.

In diesem Artikel wird beschrieben, wie Sie in Azure Data Studio mithilfe des Python-Kernels ein parametrisiertes Notebook erstellen und ausführen können.

Hinweis

Derzeit können Sie die Parametrisierung mit Python-, PySpark-, PowerShell- und .NET Interactive-Kernels verwenden.

Voraussetzungen

Installieren und Einrichten von Papermill in Azure Data Studio

Alle Schritte in diesem Abschnitt werden in einem Azure Data Studio-Notebook ausgeführt.

  1. Erstellen Sie ein neues Notebook. Ändern Sie die Einstellung für Kernel in Python 3:

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

  2. Wenn Ihre Python-Pakete ein Upgrade erfordern und Sie dazu aufgefordert werden, klicken Sie auf Ja:

    Screenshot that shows the dialog prompt to update Python packages.

  3. Installieren von Papermill:

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

    Überprüfen Sie, ob Papermill installiert ist:

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

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

  4. Überprüfen Sie die Version von Papermill, um herauszufinden, ob Papermill ordnungsgemäß installiert wurde:

    import papermill
    papermill
    

    Screenshot that shows installation validation for Papermill.

Parametrisierungsbeispiel

Sie können eine Beispielnotebookdatei verwenden, um die Schritte in diesem Artikel auszuführen:

  1. Navigieren Sie zur Notebookdatei auf GitHub. Klicken Sie auf Raw (Roh).
  2. Drücken Sie STRG+S, oder klicken Sie mit der rechten Maustaste, und speichern Sie dann die Datei mit der .ipynb-Erweiterung.
  3. Öffnen Sie die Datei in Azure Data Studio.

Einrichten eines parametrisierten Notebooks

Sie können mit dem in Azure Data Studio geöffneten Beispielnotebook beginnen oder die folgenden Schritte ausführen, um ein Notebook zu erstellen. Versuchen Sie dann, verschiedene Parameter zu verwenden. Alle Schritte werden in einem Azure Data Studio-Notebook ausgeführt.

  1. Stellen Sie sicher, dass der Kernel auf Python 3 festgelegt ist:

    Screenshot that shows the Kernel value to Python 3.

  2. Erstellen Sie eine neue Codezelle. Klicken Sie auf Parameter, um die Zelle als Parameterzelle zu markieren.

    x = 2.0
    y = 5.0
    

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

  3. Fügen Sie weitere Zellen hinzu, um andere Parameter zu testen:

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

    Nachdem alle Zellen ausgeführt wurden, sieht die Ausgabe in etwa wie im folgenden Beispiel aus:

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

  4. Speichern Sie das Notebook als Input.ipynb:

    Screenshot that shows saving the notebook file.

Ausführen eines Papermill-Notebooks

Sie können Papermill auf zwei Arten ausführen:

  • Befehlszeilenschnittstelle (CLI)
  • Python-API

Ausführung über eine parametrisierte Befehlszeilenschnittstelle

Wenn Sie ein Notebook über die CLI ausführen möchten, geben Sie im Terminal den papermill-Befehl mit dem Eingabenotebook, dem Speicherort für das Ausgabenotebook und anderen Optionen ein.

Hinweis

Weitere Informationen finden Sie in der Papermill-CLI-Dokumentation.

  1. Führen Sie das Eingabenotebook mit neuen Parametern aus:

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

    Mit diesem Befehl wird das Eingabenotebook mit neuen Werten für die Parameter x und y ausgeführt.

  2. Eine neue Zelle mit der Bezeichnung # Injected-Parameters enthält die neuen Parameterwerte, die über die CLI übergeben wurden. Die neuen # Injected-Parameters-Werte werden für die neue Ausgabe verwendet, die in der letzten Zelle angezeigt wird:

    Screenshot that shows the output for new parameters.

Ausführung über eine parametrisierte Python-API

Hinweis

Weitere Informationen finden Sie in der Papermill-Python-Dokumentation.

  1. Erstellen Sie ein neues Notebook. Ändern Sie die Einstellung für Kernel in Python 3:

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

  2. Fügen Sie eine neue Codezelle hinzu. Verwenden Sie dann die Papermill-Python-API, um das parametrisierte Notebook auszuführen und die Ausgabe zu generieren:

    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. Eine neue Zelle mit der Bezeichnung # Injected-Parameters enthält die neuen Parameterwerte, die übergeben wurden. Die neuen # Injected-Parameters-Werte werden für die neue Ausgabe verwendet, die in der letzten Zelle angezeigt wird:

    Screenshot that shows the output for new parameters.

Nächste Schritte

Weitere Informationen zu Notebooks und zur Parametrisierung: