3. GridData Analytics Serverの利用方法¶
3.1. ノートブック操作コマンド¶
本節では、Jupyterのコマンドを使用し、ノートブックを各形式に変換する方法や、 ノートブックを実行する方法を説明します。
3.1.1. ノートブックを変換する¶
ノートブックをコマンドで他形式に変換する場合、jupyter nbconvertコマンドを使用します。
使用例は以下の通りです。
$ jupyter nbconvert --to=python /home/griddata/analytics/sample.ipynb
なお、このときのjupyter nbconvertコマンドの仕様は以下の通りです。
オプション | 必須 | 引数 | 説明 |
---|---|---|---|
–output | - | filename | 出力ファイル名を指定します。 |
–to | - | format | 指定されたファイル名を、formatで指定された形式に変換し出力します。指定しない場合はhtml形式で出力します |
使用できるformatは以下の通りです。
形式 | 備考 |
---|---|
html | - |
latex | - |
slides | reveal.js形式 |
markdown | - |
rst | reStructuredText形式 |
python | Pythonコード形式 |
notebook | 別名で保存 |
3.1.2. ノートブックをCUIで実行する¶
jupyter nbconvertコマンドを使用し、ノートブックをターミナル上で実行し、結果を保存することができます。 使用例を以下に示します。
$ jupyter nbconvert --execute --inplace --ExecutePreprocessor.timeout=-1 /home/griddata/analytics/sample.ipynb
このときのjupyter nbconvertコマンドの仕様は以下の通りです。
オプション | 必須 | 引数 | 説明 |
---|---|---|---|
–execute | ○ | - | ノートブックをターミナル上で実行します |
–inplace | - | - | 実行結果を上書き保存します |
–ExecutePreprocessor.timeout | - | -1 | コマンドを実行する際のタイムアウトを無効にします。実行に時間がかかるノートブックの場合に使用します |
注釈
「ノートブックを変換する」と「ノートブックを実行する」で紹介したオプションは、互いに組み合わせることができます。
組み合わせた場合の例として、ノートブックをコマンドで実行し、htmlに変換する場合を以下に示します。
$ jupyter nbconvert --execute --to=html --output=out.html /home/griddata/analytics/sample.ipynb
3.2. ノートブックの実行スケジュールを設定する¶
前述のノートブック操作コマンドとcronを組み合わせ、ノートブックの実行スケジュールを設定することができます。 griddataユーザで以下の操作を実施します。
(1)cronを開始します。
$ sudo service crond start
(2)実行内容をシェルスクリプトに記述します。
このとき、jupyterコマンドやファイルパスはフルパスで記入します。
$ echo "/home/griddata/analytics/.pyenv/shims/jupyter nbconvert --to html /home/griddata/analytics/sample.ipynb --output=/home/griddata/analytics/templates/sample.html" >> /home/griddata/schedule.sh
$ sudo chmod +x schedule.sh
(3)スクリプトを実行するようにcronを設定します。
以下の例では、1分おきにスクリプトを実行します。
$ echo '*/1 * * * * sh /home/griddata/schedule.sh' > cron.conf
$ crontab cron.conf
3.3. APIサーバを稼動する¶
本節では、Jupyter Notebookを使用し作成したWebサーバを、 GridData Analytics Server上で稼動する方法について説明します。
WebAPIの作成方法については WebAPI作成ライブラリ を参照してください
(1)作成したノートブックをPythonコードに変換します。
このときノートブックに実行サーバのホスト名やIPを記載している場合は、あらかじめ GridData Analytics Serverのものに置換します。
$ jupyter nbconvert --to=python /home/griddata/analytics/sample.ipynb
(2)作成したPythonコードをバックグラウンドで実行します。
$ nohup python /home/griddata/analytics/sample.py > ~/output.log &
(3)起動中のAPIサーバを停止する場合、バックグラウンドジョブを停止します。
$ ps u
$ kill -KILL <PID番号>
以上でAPIサーバの起動と停止の処理は完了です。