A certain engineer "COMPLEX"

開発メモ その148 Metabase on DockerをMySQLで動かす

Introduction


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

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

Resolution


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

Introduction起動するだけなら何でもないのだが、コンテナ内のデーモンに繋がらない。これで時間を無駄にした。Resolution構文$ docker pull mysql$ docker run --name ...

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

Metabaseの作成


$ 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側でデータベースを作成しておく。


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!!

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。