Introduction

会社でChainerによるディープラーニングの案件がきました。
データ解析が必要なためデータの可視化が必要なのですが、諸事情でChainerUIが使えません。
なので、出力結果をデータベースに格納して解析します。

そのために、BI (Business Intelligence)**ツールであるMetabase**を導入することにしました。
また勉強もかねてDockerでも動かします。

Resolution

MySQLは別コンテナで稼働中であるとする。
作成方法は下記。

また、Metabaseそのもののデータベースはホストに永続化するものとする。

Metabaseの作成

1
2
3
4
5
6
7
$ docker pull metabase/metabase:latest
$ docker run --name <コンテナの名前> ^
-d ^
-v /c/Users/{ユーザディレクトリ}/Documents/workspace:/tmp ^
-e "MB_DB_FILE=/tmp/metabase.db" ^
-p <ホストのポート>:3000 ^
metabase/metabase:latest

データベースの作成

MySQL側でデータベースを作成しておく。

1
2
3
CREATE DATABASE <データベース名>;
GRANT ALL ON <データベース名>.* to <ユーザ名>@localhost;
FLUSH PRIVILEGES;

起動

コンテナ作成時に指定したポートにブラウザでアクセスしましょう。

ユーザ作成

ユーザを作成します。
ちょっと日本語が怪しいです。気にしない。
余談ですが、パスワードは数字が必須ですが、アルファベットは必須ではないです。
どういうルールなのでしょうか。

データベースマネージメントシステムの指定

解析データを含むデータベースマネージメントシステムを指定します。
後から追加もできます。

|フィールド|概要|
|:—|:—|:—|
|名前|データベースマネージメントシステムを識別する名前。自由に決めることができます。|
|Host|データベースマネージメントシステムのIPアドレス。
localhostはDockerコンテナのアドレスになるので注意。|
|Port|データベースマネージメントシステムの待ち受けポート。Hostによって変わります。|
|Database name|データベースマネージメントシステム内に含まれる、解析対象のデータベースの名前。|
|Database username|データベースマネージメントシステムへの接続ユーザ名|
|Database password|ユーザのパスワード|
|Additional JDBC connection string options|JDBCに渡すオプション文字列。必須ではありません。|

データ収集への同意

ちょっと日本語が怪しいです。気にしない。

ニュースレター購読確認

必要ないなら、Metabaseを使い始めるを押下するだけ。

I’m Ready!!