MetabaseからAmazon Auroraにアクセスしてみた


Metabaseのアクセス先にMySQLとか書いてあったので、Aurora接続もできるだろうと思って勉強がてら試してみました。

Metabaseとは

ベタですが、公式ページが一番わかりやすいっす。

Auroraの準備

デフォルトの設定でとりあえず作成します。

  1. Publicアクセスさせたかったので(色々考えるの面倒)、Publicアクセスの設定
  2. お金ないのでMulti AZはなしん設定

というあたりはデフォルトと変えた感じ。それでサクッと用意しました。

Auroraにデータを投入

こちらのページを参考に、DBとテーブルの作成など諸々行いました。

Amazon RDS for Aurora を試してみた

ここで紹介されている郵便データに関してですが、時間が経ったためか実際のカラムの並び順などが変わっていたので、そういう点だけ変更してあとは上記のページのまま進めます。(ありがたや)

mysql> CREATE TABLE zipcode_list (
    -> zipcode varchar(10),
    -> prefecture varchar(255),
    -> city varchar(255),
    -> street varchar(255),
    -> prefecture_kana varchar(255),
    -> city_kana varchar(255),
    -> street_kana varchar(255)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.38 sec)

データ投入もすんなり行きました。

$ mysqlimport --local --compress --user=root --password --host=xxxxxxxx.xxxxxxxxx.us-east-1.rds.amazonaws.com --fields-terminated-by=',' --fields-enclosed-by='"' --lines-terminated-by='\r\n' -d metabase ./zipcode_list.csv
Enter password: 
metabase.zipcode_list: Records: 124117  Deleted: 0  Skipped: 0  Warnings: 0 

Metabaseを起動する

今回はJavaで起動しました。

$ java jar metabase.jar 

起動したら、localhost:3000でアクセスできます。で、諸々画面に従って設定をしますが、MySQLベースの設定をします。

Name Value
Database MySQL
URL Auroraのエンドポイント
Port 3306

すると無事繋がって、普通に作成したデータベースが表示されました。(予想通りでした)

データも何か欠損しているわけではなく、投入分がしっかり反映されています。

まとめ

予想通り、Auroraは問題なくつなぐことができました。一応GithubのIssueではDynamoDBやAthenaへの対応の要望も出ているので、少し待てばどんどん対応されるんじゃないでしょうか。個人的にはMetabaseの操作性が抜群にいいので、Athenaのクライアントとして使ってみたいと思っています。

おまけ

操作性が抜群にいいですねこれ。

例えば一覧でデータを表示した後に

絞り込みたい対象のカラムをクリックすると、その値で絞り込めるようになってる。

まだ試してませんが、Pulseとかも使ってみたいですね。