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サーバの起動と停止の処理は完了です。