Papermill を使用してパラメーター化されたノートブックを作成する
Azure Data Studio での ''パラメーター化'' は、異なるパラメーター セットで同じノートブックを実行することです。
この記事では、Azure Data Studio で Python カーネルを使用してパラメーター化されたノートブックを作成して実行する方法を示します。
注意
現在、パラメーター化は Python、PySpark、PowerShell、.NET Interactive のカーネルで使用できます。
前提条件
Azure Data Studio に Papermill をインストールして設定する
このセクションの手順はすべて Azure Data Studio ノートブック内で行われます。
新しい Notebook を作成します。 [カーネル] を [Python 3] に変更します。
パッケージの更新が必要なときに Python パッケージのアップグレードを求められた場合は、 [はい] を選択します。
Papermill をインストールします。
import sys !{sys.executable} -m pip install papermill --no-cache-dir --upgrade
Papermill がインストールされていることを確認します。
import sys !{sys.executable} -m pip list
Papermill が正しくインストールされていることを確認するには、Papermill のバージョンを確かめます。
import papermill papermill
パラメーター化の例
この記事の手順は、サンプルのノートブック ファイルを使用して行うことができます。
- GitHub のノートブック ファイルに移動します。 [Raw]\(未フォーマット\) を選択します。
- Ctrl + S キーを押すか右クリックし、.ipynb の拡張子でファイルを保存します。
- Azure Data Studio でそのファイルを開きます。
パラメーター化されたノートブックを設定する
Azure Data Studio で開いたサンプルのノートブックで開始することも、次の手順を行ってノートブックを作成することもできます。 その後、異なるパラメーターを使用してみます。 手順はすべて Azure Data Studio ノートブック内で行われます。
[カーネル] が [Python 3] に設定されていることを確認します。
新しいコード セルを作成します。 [パラメーター] を選択して、セルをパラメーター セルとしてタグ付けします。
x = 2.0 y = 5.0
他のセルを追加して、異なるパラメーターをテストします。
addition = x + y multiply = x * y
print("Addition: " + str(addition)) print("Multiplication: " + str(multiply))
すべてのセルが実行された後、出力はこの例のようになります。
ノートブックを Input.ipynb として保存します。
Papermill ノートブックを実行する
Papermill は次の 2 つの方法で実行できます。
- コマンド ライン インターフェイス (CLI)
- Python API
パラメーター化された CLI の実行
CLI を使用してノートブックを実行するには、ターミナルで、入力ノートブック、出力ノートブックの場所、およびオプションを指定して papermill
コマンドを入力します。
注意
詳細については、Papermill CLI に関するドキュメントを参照してください。
新しいパラメーターを使用して入力ノートブックを実行します。
papermill Input.ipynb Output.ipynb -p x 10 -p y 20
このコマンドにより、パラメーター x と y に新しい値を使用して、入力ノートブックが実行されます。
# Injected-Parameters
というラベルが付いた新しいセルには、CLI を介して渡された新しいパラメーター値が含まれます。 新しい# Injected-Parameters
値は、最後のセルに表示される新しい出力に使用されます。
パラメーター化された Python API の実行
注意
詳細については、Papermill Python に関するドキュメントを参照してください。
新しい Notebook を作成します。 [カーネル] を [Python 3] に変更します。
新しいコード セルを追加します。 その後、Papermill Python API を使用して、出力パラメーター化ノートブックを実行して生成します。
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) )
# Injected-Parameters
というラベルが付いた新しいセルには、渡された新しいパラメーター値が含まれます。 新しい# Injected-Parameters
値は、最後のセルに表示される新しい出力に使用されます。
次の手順
ノートブックとパラメーター化についてさらに学習します。