空飛ぶITコンサルタント

企業内診断士のヨシダが「AI」「パン」「働き方」について語ります

(データ可視化)MetabaseでMysqlからデータを引き出し表示する

f:id:yoshidaagri:20190502102529p:plain

  • 今日はOSS BIツール「metabase」の話。手早くデータを可視化するには良いツールです。
  • インストールからグラフ表示まで手順を端折らず、丁寧に書きました。手順途中で詰まった方にもおすすめ記事です。
  • This blog is about Database Visualization using Metabase.

qiita.com

qiita.com

インストール

  • 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」

    f:id:yoshidaagri:20190502085402p:plain
    スタート画面

  • (2/9)名前等を入力します。テスト太郎。

    f:id:yoshidaagri:20190502085609p:plain
    名前を入力する

  • (3/9)次にデータソースの選択。ここでMysqlに疎通出来ていれば、初期設定はほぼ完了。

    f:id:yoshidaagri:20190502090842p:plain
    add your data(Mysqlを選びます)

  • (4/9)匿名で仕様状況を収集してよいか聞いています。

    f:id:yoshidaagri:20190502091100p:plain
    匿名で情報収集してええんか?と聞いています。

  • (5/9)最初の画面で「Data reference」を選択。

    f:id:yoshidaagri:20190502091811p:plain
    おめでとう!みたいな画面
    f:id:yoshidaagri:20190502092312p:plain
    Data Referenceを押下

  • (6/9)初期表示時に画面下に隠れている紫のボタン「See all Tables」を選択。

    f:id:yoshidaagri:20190502092640p:plain
    See all tablesを選択

  • (7/9)Sampleを選ぶと諸先輩方の記事と同じになるので、自前の「パン屋さんのホームページを形態素解析し、出てきたパン名の品頻度を保存する」breadDBを選択。

    f:id:yoshidaagri:20190502093049p:plain
    オリジナルのDB「breadDB」を選択

  • (7/9)前画面で選択した「Table in (DB名)」を選択。

    f:id:yoshidaagri:20190502093443p:plain
    Table in breadDBを選択

  • (8/9)DBにあるテーブル一覧が表示される。バックアップテーブル(テーブル名先頭にBK)まで丁寧に表示される。

    f:id:yoshidaagri:20190502093706p:plain
    Shops Main Productsを選択

  • (9/9)Table名の隣にある「See this table」を選択。

    f:id:yoshidaagri:20190502093836p:plain
    これから可視化が始まります!

グラフを表示するまでの6ステップ

  • (1/6)これが可視化画面。ここからどのように表示するか設定していきます。例として北海道のパン屋さんホームページの頻出パン名を表示します。 f:id:yoshidaagri:20190502094919p:plain

  • (2/6)FILTERED BYでゴミデータを除外することが出来ます。

    f:id:yoshidaagri:20190502095102p:plain
    「FILTERED BY」出力する条件指定の項目

  • (3/6)VIEWは集計方法。最初はRow data(行表示)になっていますが、Count of rows(件数集計)に変えます。 f:id:yoshidaagri:20190502095414p:plain

  • (4/6)GROUPED BYは集計項目。SQLのgroup byに何を設定するか問われています。例ではmemoという項目にパンの名前を入れているので設定。 f:id:yoshidaagri:20190502095508p:plain

  • (5/6)グルーピングした集計結果が表形式で出力されました。ここから表示方法を選びます。 f:id:yoshidaagri:20190502095550p:plain

  • (6/6)横棒が一番スッキリくるので、選択しました。簡単!表示項目が多いとごちゃつくので上位表示件数10件に設定。 f:id:yoshidaagri:20190502095945p:plain

所感

  • 簡単。jupyterはエンジニアとしてのスキルが必要だが、metabaseは「最近コーディングしていないマネージャ」でも動かせる。素養さえあればできるということ。技術無縁の方は「ダッシュボードを見る」なら可能。
  • AWSにはすでにデプロイされたMetabaseが準備されており、EC2とRDSの設定をすれば始められます。 dev.classmethod.jp

  • google cloudでmetabaseを動かすのもそこそこ簡単。

engineering.otobank.co.jp