アドホック分析環境とは?
ビッグデータ分析におけるアドホック分析では、レポーティング分析で得られた気づきを元に具体的な根拠を得るために実施するケースと、ユーザが今までに無い条件を元に分析をするケースがあります。つまり、分析の当初はアドホック分析を行いながら、レポーティング分析に必要な基本KPIを見つけ出していくことが必要になります。
今回と次回で、JupyterとPandasを用いてアドホック分析環境を構築し、分析エンジンとして利用するMySQLに対してインタラクティブに集計と可視化を行うための準備をします。
JupyterとPandasとは?
Jupyterは、Webブラウザベースのインタラクティブシェルを提供するツールです。元々は、iPythonという名前で、Python用のWebブラウザのインタラクティブシェルを提供していました。そこから現在は進化し、Jupyterという名前でさまざまな言語に対応したWebブラウザベースのインタラクティブシェルとして公開されています。特徴として、Notebook(.ipynb形式)というファイルに実行したシェルの内容や画像を保存されるようになっており、簡単に分析内容を共有することができるようになっています。
Pandasは、Python用の表や時系列データを扱うのに長けたデータ解析支援のためのライブラリです。Pandasを用いることでさまざまなデータベースからデータを取得するだけでなく、Jupyter上で簡単にデータ解析を行えるようになります。
各種ツールのインストール
利用環境
- Ubuntu 14.04
- Python 3.4
- Pandas (0.16.2)
- Jupyter (Jupyterhub 0.2.0)
Python3のインストール
Ubuntu14.04ではPython3.4がデフォルトで入っていますが、エイリアスの設定などがデフォルトのままだと使いづらいため、pyenvを使って環境構築を行います。。
さて、これでJupyterが起動しました。下記のアドレスでログインをしてみましょう。
http://'IP address':8000/
ユーザの認証は、Ubuntuユーザでログインをすることができます。
Jupyterの基本的な使い方
“Hello World”してみる
トップ画面で、New -> Python3を選択し、Python3用のNotebookを作成します。この後は、Pythonのインタラクティブシェルと同様のことが可能になります。
とりえあず、最初はHello Worldをしてみましょう。下記を入力してShift+Enter
で実行できます。
Pythonが実行できることを確認できましたね。
このNotebookでの作業内容は .ipynb という拡張子を持つファイルに自動で保存されます。
また、グラフの描画をしたい場合には、事前に下記を実行しておきます。
そして、下記のコマンドを実行してみましょう。
このように%
を先頭に付けることで、マジック関数(Magic Function)と呼ばれる特別な関数がいくつか用意されており、インタラクティブな分析に役立ちます。また、先頭に!
を付与すると、シェルのコマンドを実行することができます。
この他、マークダウンを埋め込むことも可能です。
また、ここで作成したnotebookをGithub上にアップロードすると、Jupyter上の表示そのままでGithub上で表示させることが可能です。
Jupyterまとめ
今回はJupyterのインストールと起動、簡単な利用方法について説明しました。Jupyterは、あくまでもインタフェースで、これだけで何か分析ができるわけではありません。しかし、分析の試行錯誤を簡単に記録できるようにしておくことで、そうした試行錯誤の過程をナレッジとすることができるのです。
次回は、Jupyterをインターフェースとして、データ分析ライブラリPandasの使い方を紹介します。