Jupyterによる探索的なデータ解析
データを探索的に解析する際には、インタラクティブなUIがあると便利です。JupyterはRやPythonなど様々なプログラミング言語で書かれた解析スクリプトをインタラクティブに処理する便利なツールです。また、JupyterにはQiitaのスライドモードと同じようなスライドショー機能をつけることが可能で、インタラクティブに求めた結果を、すぐにスライドへ組み込むことができます。
Dockerhub内のJupyterイメージ
Jupyterはローカルにインストールするだけでなく、Dockerのコンテナとしても使用可能です。 Dockerhub内には、Jupyterに関連したイメージが多数公開されています。ただし、Dockerhaub内のイメージの多くは、スライドショー機能が組み込まれていません。せっかくの便利機能ですが、イメージサイズを最小限にすることを考えると、スライドショー機能は外されてしまうのかもしれません。
Jupyterのdockerイメージにスライドショー機能を追加する
私は、どうしてもスライドショー機能をJupyterに組み込みたかったので、その方法を調べたところ、
https://github.com/jupyter/docker-stacks/wiki/Docker-Recipes
に記述がありました。しかし、そこに書かれたやり方だとうまくいかなかったので、少しだけ変更を加えた方法でdockerfileを作成してみました。
dockerfileの作り方
dockerfileでは、最初に元になるイメージを指定し、その後、それに変更を加えていきます。今回は、Jupyterアカウント内のR-notebookというイメージをベースイメージにしました。このイメージはRで解析する人用です。Pythonで解析する人は別のイメージを利用すると良いでしょう。
FROM jupyter/r-notebook
MAINTAINER jnobuyuki <gott623@gmail.com>
管理者も記載しておきます。
次に、このイメージにスライドショー機能を追加します。
RUN wget https://github.com/pdonorio/RISE/archive/master.tar.gz \
&& tar xvzf *.gz && cd RISE-master && python3 setup.py install
これだけです。
dockerfileからイメージのビルド
dockerを利用して、dockerfileからイメージをビルドしましょう。-tオプションで任意のイメージ名をつけると便利です。作業ディレクトリをdockerfileのあるディレクトリまで移動して、以下のコードを実行します。
docker build -t 任意のイメージ名 .
ビルドしたイメージはdockerhub内で公開していますので、そちらもよろしければご利用ください。
https://hub.docker.com/r/jnobuyuki/jupyter-r-notebook/