RDS(Amazon Aurora)のデータをTableauで可視化する

2015.07.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

昨日2015/07/28に、Auroraが待望の"GA"(General Availability:一般ユーザーが利用可能な状態)となりました。

この報せを受けて、社内でも早速Auroraに関するエントリが次々と上がり始めました。この流れは暫く続くかと思いますので、以下特集カテゴリリンクを是非チェックしておいてください。

これを受けて、私の方でもAuroraに関するネタを投稿してみたいと思います。とは言ってもAuroraそのものの機能解説などを行う訳では無く、BIツールのTableauから繋いでみましたエントリとなります。

Amazon Auroraの環境・データを準備する

まずはAuroraの環境そのものの準備から。Auroraの環境構築に関する手順は以下のエントリをご参照ください。

Aurora環境構築完了後、クライアント側にmysqlに接続するための環境を用意しておきます。環境がMac OS Xでしたのでbrewで一発インストール。

$ brew install mysql
$ mysql --version
mysql  Ver 14.14 Distrib 5.6.24, for osx10.10 (x86_64) using  EditLine wrapper

そしてAurora環境にログイン。この辺は前述エントリにあるように、MySQLと何ら変わりありません。

$ mysql -h mmdb.xxxxxxxxxxxxx.us-east-1.rds.amazonaws.com -ugeorgemiller -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.6.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

使用するDBを選択し、

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mmdb               |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.60 sec)

mysql> use mmdb;
Database changed

Tableauで可視化するためにデータを格納するテーブルを用意し、

mysql> CREATE TABLE cars (
    id INT NOT NULL,
    car_name VARCHAR(40) NOT NULL,
    engine_type VARCHAR(10),
    cylinder_num INT,
    amount INT,
    owner VARCHAR(30)
);
Query OK, 0 rows affected (0.26 sec)

データを投入。(※ データ参考資料)

mysql> INSERT INTO cars VALUES(1,'INTERCEPTOR','V',8,1,'Max Rockatansky');
mysql> INSERT INTO cars VALUES(2,'THE WAR RIG','V',8,2,'Imperator Furiosa');
mysql> INSERT INTO cars VALUES(3,'THE NUX CAR','V',8,1,'Nux');
mysql> INSERT INTO cars VALUES(4,'THE GIGAHORSE','V',8,2,'Immortan Joe');
mysql> INSERT INTO cars VALUES(5,'THE BIG FOOT','V',8,1,'Rictus Erectus');
mysql> INSERT INTO cars VALUES(6,'Doof Wagon','V',8,1,'Coma-Doof Warrior');
mysql> INSERT INTO cars VALUES(7,'THE PEACEMAKER','',0,0,'Bullet Farmer');
mysql> INSERT INTO cars VALUES(8,'The People Eater\'s Limousine','',0,0,'People Eater');

mysql> SELECT * FROM cars ORDER BY id;
+----+------------------------------+-------------+--------------+--------+-------------------+
| id | car_name                     | engine_type | cylinder_num | amount | owner             |
+----+------------------------------+-------------+--------------+--------+-------------------+
|  1 | INTERCEPTOR                  | V           |            8 |      1 | Max Rockatansky   |
|  2 | THE WAR RIG                  | V           |            8 |      2 | Imperator Furiosa |
|  3 | THE NUX CAR                  | V           |            8 |      1 | Nux               |
|  4 | THE GIGAHORSE                | V           |            8 |      2 | Immortan Joe      |
|  5 | THE BIG FOOT                 | V           |            8 |      1 | Rictus Erectus    |
|  6 | Doof Wagon                   | V           |            8 |      1 | Coma-Doof Warrior |
|  7 | THE PEACEMAKER               |             |            0 |      0 | Bullet Farmer     |
|  8 | The People Eater's Limousine |             |            0 |      0 | People Eater      |
+----+------------------------------+-------------+--------------+--------+-------------------+
8 rows in set (0.91 sec)

これでDB側の用意は整いました。

Tableau側の接続設定など

次に、Tableau側の環境設定を行います。とは言っても、準備するのは接続のためのドライバ環境を整えることだけ。Tableauのドライバ関連ページには既にリンクが用意されていました。(※リンクがHadoopとなっているのが若干気になりますが...)

tableau-connect-to-rds-aurora_01

対応するアーカイブを入手・解凍し、必要なインストーラを実行。

tableau-connect-to-rds-aurora_02

インストール完了後、Tableauを起動して接続設定を行います。[MySQL]を選択し、必要な情報を入力して接続します。

tableau-connect-to-rds-aurora_03

データウインドウ画面。この辺もMySQLで接続する場合と特に変わりはありません。

tableau-connect-to-rds-aurora_04

ビューの作成完了です。

tableau-connect-to-rds-aurora_05

まとめ

以上、TableauからAuroraに繋いでみたエントリでした。Amazon Redshiftとはデータや構成の特徴が異るのでAmazon Redshiftを置き換えるものとしての活用は難しいかと思いますが、少ない件数/アクセス人数が多いデータ等を閲覧させるような場合など、ケースに拠ってはBIツールからの参照用データソースとしてハマるものもあるのではないでしょうか。こちらからは以上です。