(データ可視化)MetabaseでMysqlからデータを引き出し表示する
- 今日はOSS BIツール「metabase」の話。手早くデータを可視化するには良いツールです。
- インストールからグラフ表示まで手順を端折らず、丁寧に書きました。手順途中で詰まった方にもおすすめ記事です。
- This blog is about Database Visualization using Metabase.
インストール
- javaを入れて、metabaseのjarを持ってくるだけ。
- この手軽さがmetabaseの利点。
sudo add-apt-repository 'ppa:openjdk-r/ppa' sudo apt update sudo apt install openjdk-8-jdk sudo mkdir /opt/metabase wget http://downloads.metabase.com/v0.27.1/metabase.jar -O /opt/metabase/metabase.jar
起動コマンド
- 簡単。dockerは必須ではないのです。
java -jar /opt/metabase/metabase.jar
可視化する画面までの9ステップ
(1/9)「host名:3000」。ローカルPCなら「localhost:3000」
(2/9)名前等を入力します。テスト太郎。
(3/9)次にデータソースの選択。ここでMysqlに疎通出来ていれば、初期設定はほぼ完了。
(4/9)匿名で仕様状況を収集してよいか聞いています。
(5/9)最初の画面で「Data reference」を選択。
(6/9)初期表示時に画面下に隠れている紫のボタン「See all Tables」を選択。
(7/9)Sampleを選ぶと諸先輩方の記事と同じになるので、自前の「パン屋さんのホームページを形態素解析し、出てきたパン名の品頻度を保存する」breadDBを選択。
(7/9)前画面で選択した「Table in (DB名)」を選択。
(8/9)DBにあるテーブル一覧が表示される。バックアップテーブル(テーブル名先頭にBK)まで丁寧に表示される。
(9/9)Table名の隣にある「See this table」を選択。
グラフを表示するまでの6ステップ
(1/6)これが可視化画面。ここからどのように表示するか設定していきます。例として北海道のパン屋さんホームページの頻出パン名を表示します。
(2/6)FILTERED BYでゴミデータを除外することが出来ます。
(3/6)VIEWは集計方法。最初はRow data(行表示)になっていますが、Count of rows(件数集計)に変えます。
(4/6)GROUPED BYは集計項目。SQLのgroup byに何を設定するか問われています。例ではmemoという項目にパンの名前を入れているので設定。
(5/6)グルーピングした集計結果が表形式で出力されました。ここから表示方法を選びます。
(6/6)横棒が一番スッキリくるので、選択しました。簡単!表示項目が多いとごちゃつくので上位表示件数10件に設定。
所感
- 簡単。jupyterはエンジニアとしてのスキルが必要だが、metabaseは「最近コーディングしていないマネージャ」でも動かせる。素養さえあればできるということ。技術無縁の方は「ダッシュボードを見る」なら可能。
AWSにはすでにデプロイされたMetabaseが準備されており、EC2とRDSの設定をすれば始められます。 dev.classmethod.jp
google cloudでmetabaseを動かすのもそこそこ簡単。