Amazon Redshift接続のMetabaseでダッシュボード作成

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【3/22開催】テックブログを書こう!アウトプットのススメ
1年で100本ブログを出した新米エンジニアがPV数が伸びなくてもTech Blogを書き続ける理由とは?
https://tech-lab.connpass.com/event/312805/

【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

Amazon Redshift接続のMetabaseでグラフ

OSSのBIツールMetabaseを試したいと思います。

Metabase とは

Metabaseは、OSSのBIツールで簡単にデータの可視化ができます。

主な特徴は以下になります。

  • インストールが簡単
    • OpenJDKかOracleJDKのバージョン7以上のインストールとMetabaseのjarファイル配置のみ
  • WebベースUI
  • ダッシュボードが作成可能
  • 認証
    • GoogleアカウントのサインインかLDAP認証の選択も可能
  • アプリにMetabaseのチャートとダッシュボードの組込みが可能
  • グラフはSQLを書いても書かなくても作成可能
  • グラフは以下の種類が作成可能
    • Number
    • Progress bar
    • Table
    • Line chart
    • Bar chart
    • Row chart
    • Area chart
    • Scatterplot or bubble chart
    • Pie/donut chart
    • Funnel
    • Map
  • 対応データベース
    • MySQL
    • Postgres
    • Mongo
    • SQL Server
    • AWS Redshift
    • Google BigQuery
    • Druid
    • H2
    • SQLite
    • Oracle
    • Crate
    • Google Analytics
    • Vertica

詳細は以下をご覧頂ければと思います。
https://www.metabase.com/docs/latest/

前提動作環境

本記事での動作環境は下記になります。

  • Metabase v0.29.3
  • Windows Server 2012 R2   ※事前にインストールしておきます。
  • jdk-8u172-windows-x64.exe ※事前にインストールしておきます。
  • Amazon Redshift ※事前に作成しておきます。
    • データは、ブログサイト「https://tech-lab.sios.jp/」のアクセスログを使用

Metabase のインストール

Metabaseのダウンロードサイトから、「metabase.jar」をダウンロードします。適宜フォルダーに配置します。

コマンドプロンプトで配置フォルダに移動し、「java -jar metabase.jar」 を実行すれば起動します。
ブラウザでhttps://localhost:3000/にアクセスし、Web UIを表示できることを確認します。

Metabase の設定

[Let’s get started.]をクリックします。
input

adminアカウントを設定します。適宜入力し、[Next]をクリックします。
input

DBの接続情報を設定します。一番上にあるプルダウンは「Amazon Redshift」をクリックします。[Host]はRedshiftのエンドポイントを入力、それ以外も適宜入力し、[Next]をクリックします。
input

Usage data preferences はそのまま[Next]をクリックします。
input

セットアップが完了します。[Take me to Metabase]をクリックします。
input

ホームページが表示されます。
input

ダッシュボードの作成

まず、グラフを作成します。
画面上部の[New Question]をクリックすると開く以下の画面から、今回はSQLを書いてグラフ作成したいと思いますので、[Native query]をクリックします。
input

以下のように、[DATABASE]プルダウンから使用するDB名のクリックと[EDITOR]にSQLを入力して、[GetAnswer]をクリックします。
input

以下のような画面になったら、[VISUALIZATION]プルダウンから適宜グラフの種類をクリックします。ここでは、「Table」を選択します。右脇にある歯車アイコンで選択したグラフの設定のカスタマイズができます。
input

作成したグラフを保存します。画面右上にある[SAVE]をクリックして、開いた以下のダイアログで適宜入力し、[Save]をクリックします。
input

作成したグラフをダッシュボードに追加するか確認されるので、[Yes please!]をクリックして、ダッシュボードに追加することにします。
input

追加するダッシュボードについて、既存のものから選択するか、新規作成するかを確認されます。今回は新規作成のダッシュボードとするので、[+ Add to new dashboard]をクリックします。
input

開いた以下のダイアログで適宜入力し、[Create]をクリックします。
input

新規作成したダッシュボードに、「Question」がテーブルの見た目をしたカードのかたちで追加配置されます。
input

ダッシュボードのグリッドに合わせて、配置されたカードの右下をつまんで、以下のように広げることができます。
input

この状態のダッシュボードを保存します。画面右上にある[Save]をクリックすると、以下のように、ダッシュボードの編集画面から表示画面になります。
input

まとめ

このように簡単にダッシュボード作成ができます。ただ、パーミションについては、Tableau Serverなどの商用製品のように、作成したダッシュボード・Question単位などといったオブジェクト単位にパーミション設定ができるわけではないようなので、導入する際には、ユーザー要望に沿えるかどうか検証が必要です。

斎藤@SSTD

アバター画像
About サイオステクノロジーの中の人 10 Articles
サイオステクノロジーで働く中の人です。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる