Amazon RedshiftとTableauによるビッグデータ分析 〜 Tableau Desktopを使ってみた 〜
お盆真っ盛り&暑さ最高潮&夏休みムード漂う今日この頃ですが皆様いかがお過ごしでしょうか。
最近はAmazon Redshiftに関して色々調査実践等を行なっているのですが、Amazon Redshiftで収集したビッグデータを扱う『分析ツール』もまた欠かせないものであると思います。今回、BI(ビジネス・インテリジェンス)ツールとして『Tableau』という企業の製品が良い感じですよ、という情報を得たのでトライアル版を導入し、動作確認やRedshiftとの連携等を試してみました。
目次
- Tableau Softwareとは
- Tableau Softwareの製品一覧
- Tableau Desktopを試しに使ってみる
- Tableau Desktop: オンライン無料入門トレーニング
- Tableau製品に関する各種ドキュメント
- Amazon Redshiftとの連携
- まとめ
Tableau Softwareとは
Tableau(タブロー)社はBI(ビジネスインテリジェンス)に特化したインタラクティブなデータの視覚化ツールを提供しているソフトウェア会社です。日本市場にも2013年5月末の発表(下記リンク参考)に合わせて本格的に参入しているようです。
- タブローソフトウェア - Wikipedia
- 高速なデータ分析とわかりやすいビジネスダッシュボードを実現するビジネスインテリジェンス(BI)ソフトウェア | タブローソフトウェア
- 日本市場に本格参入:Tableau、BIツールの最新版「Tableau 8.0」を国内提供 - @IT
- BI製品「Tableau」の日本法人が本格始動! 導入/分析の容易さをアピール | エンタープライズ | マイナビニュース
Tableau Softwareの製品一覧
現在Tableau社で展開している商品ラインナップは以下となります。いずれもトライアル版で操作を試す事が出来ます。
- Tableau Desktop:ドラッグ&ドロップ操作でデータを分析する、画期的なテクノロジーをベースにしている。データに数クリックで接続し、さらに数クリックでインタラクティブなダッシュボードを視覚化して作成可能。
- Tableau Server:誰でも学習でき使用できる、ブラウザベースの分析が可能なビジネスインテリジェンスアプリケーションです。低速で柔軟性の低い従来のビジネスインテリジェンスソフトウェアに代わる超高速処理ビジネスインテリジェンス
- Tableau Online:Tableau Server のホスト型バージョン。 Tableauをクラウドで活用し、超高速処理ビジネス分析を今まで以上に簡単に行える。
- Tableau Public:Webで利用可能。iPadとAndroidタブレットでのタッチ操作に自動で最適化。
- Tableau Desktop | Tableau Software
- Tableau Server | Tableau Software
- Tableau Online | Tableau Software
- Tableau Public | Tableau Software
- 製品のトライアル版 | Tableau Software
Tableau Desktopを試しに使ってみる
Desktop/Server/Online/Publicそれぞれでトライアル版を動かしてみる事は可能となっておりますが、このエントリではその中で『Tableau Desktop』を導入し、動かしてみる事にします。現在対応しているOSはWindows系のみのようですので、対応するOSを準備して臨んで頂ければと思います。
Tableau Softwareのトップページから画面右側、[FREE TRIAL]のリンクをクリック。
ダウンロードページに遷移するので、必要なインストーラファイルを入手。(TableauDesktop.exe, 87.4MB)
表示される規約を読み、インストールを押下。そのままインストールが始まります。
インストールが完了すると、製品をどのような形で利用するか選択させるウィザードが表示されます。ここは今すぐ試用を開始するを選択。
個人情報・会社情報などを入力させるダイアログが出てくるので必要事項を入力して登録を済ませます。以下は登録完了時のTableau Desktopの画面です。何ら詰まる所無く、サラっとインストール出来ました。
『データに接続』をクリックすると更に詳細に展開。『サーバー上』のリソースにAmazon Redshiftも列挙されているのを確認出来ました。(※こちらからの接続に関しては後ほどチャレンジします。)
Tableau Desktop: オンライン無料入門トレーニング
Tableau Desktopの評価版をダウンロードして、データに接続するのは初めてですか? まず何をすればいいか知りたい・・。ぜひこのビデオを視聴してください!
Tableau Desktopには以下の動画、『オンライン無料入門トレーニング』が用意されています。
約1時間程の内容で、以下操作について解説がなされています。ログイン若しくは各種情報登録(氏名、会社名等)が必要ですが、実際の分析作業さながらの流れでとても分り易く進行・解説がなされていると思います。以下幾つかスライド資料のスクリーンキャプチャを貼っておきます。ドラッグ&ドロップやクリック操作だけでかなり詳細な・分かり易い編集を行なってくれるのでそれぞれの機能を把握していけばかなり迅速に、詳細な分析が行えるようになるのでは、と思えます。
- ユーザインタフェースの基本操作
- データとの接続
- ディメンションとメジャー
- 表示形式
- マークカード
- 簡単なフォーマット
- ビューの作成
- ダッシュボードの作成
Tableau製品に関する各種ドキュメント
以下ページには、各種フォーマットでヘルプが用意されています。勿論日本語版もあります。
トレーニングとチュートリアルも充実。
逆引き的に使えそうな情報はこちら。用途別に細かく操作方法が紹介されています。
Amazon Redshiftとの連携
サンプルデータの調達
以前にデータを投入した時は手作りデータで臨んでいましたが、今回はもうちょっとスマートに(楽して)データを持ってこようと思います。気象庁にて過去の気象データを入手する事が出来ますので2013年の関東地域の主だった気象データをまとめて落としてきます。
Redshift実行環境の準備
今回の作業にあたり、データを投入するテーブル構成を以下のようにしてみました。
create table weatherinfo ( data_id integer not null distkey sortkey, /** データID */ pref_id integer not null, /** 都道府県ID */ pref_name varchar(40), /** 都道府県名 */ city_id integer not null, /** 市区町村ID */ city_name varchar(40), /** 市区町村名 */ observation_date date, /** 観測日 */ temperature_avg decimal(4,1), /** 平均気温 */ temperature_max decimal(4,1), /** 最高気温 */ temparature_min decimal(4,1), /** 最低気温 */ precipitation decimal(4,1), /** 降水量合計 */ hour_of_sunshine decimal(4,1), /** 日照時間 */ humidity_avg decimal(4,1) /** 平均湿度 */ );
そしてデータは以下のように用意してみました。(実際に使ったデータファイルも以下に用意致しました。テキストデータとしてダウンロードしてお使いください。)
1|13|東京都|100|東京(千代田区)|2011-01-01|6.6|10.8|2.2|0|7.9|33 2|13|東京都|100|東京(千代田区)|2011-01-02|7|11|4.1|0|8.4|41 3|13|東京都|100|東京(千代田区)|2011-01-03|5.9|9.2|3.1|0|5.2|48 4|13|東京都|100|東京(千代田区)|2011-01-04|6.3|9.8|3.3|0|8.4|40 5|13|東京都|100|東京(千代田区)|2011-01-05|7.3|11|2.8|0|7.4|39 6|13|東京都|100|東京(千代田区)|2011-01-06|6.5|10.8|3.1|0|6.7|34 7|13|東京都|100|東京(千代田区)|2011-01-07|4|7.3|1.8|0|9.2|25 8|13|東京都|100|東京(千代田区)|2011-01-08|5.9|10|1|0|9.2|33 9|13|東京都|100|東京(千代田区)|2011-01-09|6.1|12.2|0.6|0|9.1|46 10|13|東京都|100|東京(千代田区)|2011-01-10|3.4|6.1|1.4|0|9.2|27 : : 3817|11|埼玉県|100|さいたま市|2013-08-09|31.2|36.5|25.4|0|10.2|50 3818|11|埼玉県|100|さいたま市|2013-08-10|32.6|37.7|26.8|0|11.1|50 3819|11|埼玉県|100|さいたま市|2013-08-11|31.4|37.5|27.2|0|7.2|50 3820|11|埼玉県|100|さいたま市|2013-08-02|29.9|36|25.5|0|9.3|50
ついでAmazon Redshiftクラスタ情報を用意します。箇条書きではありますが、管理コンソールを用いて以下のような設定で諸々準備しました。
- クラスタはVPC内部に作成、事前にInternet GatewayがAttachされたVPCを用意しておく
- (クラスタ名): tableautestcluster
- (データベース名): tableautestdb
- (マスターユーザー名): masteruser
- (マスターパスワード): *****
- (ポート): 5439
- (ノードタイプ): dw.hs1.xlarge
- (クラスタタイプ): Single Node
- (パブリックアクセス許可): Yes
- (AZ): ap-northeast-1a
- VPCに紐付くセキュリティグループにルールを追加(All TCP, 0.0.0.0/0)
- クラスタを作成したユーザーでS3バケットを作成、上記ファイルを任意のバケットにアップロード&Make Public設定
細かい進め方については以下のエントリをご参考ください。:-)
- Amazon Redshiftを始めてみよう(入門ガイド翻訳&実践:前編) | Developers.IO
- Amazon Redshiftを始めてみよう(入門ガイド翻訳&実践:後編) | Developers.IO
クラスタ及びデータが用意出来たら、SQL Workbench/J上にて、S3バケットからのCOPYコマンドを実行します。。4000件近いデータ量でしたが、登録は時間にして僅か。超高速!!
copy weatherinfo from 's3://tableautest/tableautest/weather_info.txt' CREDENTIALS ’aws_access_key_id=<アクセスキーID>;aws_secret_access_key=<シークレットアクセスキー>' delimiter '|' dateformat 'YYYY-MM-DD'
ちゃんと対象全件登録されている事が確認出来ました。
Tableau DesktopからRedshiftに接続
ではいよいよ、TableauからRedshiftに繋いでみましょう!...とその前に、Windowsでのアクセスとなるので接続にはODBCドライバの導入が必要となります。以下リンクにドライバの一覧が紹介されていますので、該当するリンクからインストーラを入手→実行でインストールを行います。ウィザードに従い、そのまま先へ進めれば導入完了となります。
ODBCドライバの導入が完了したらTableau Desktopを起動しデータに接続をクリック。
サーバ上のリソース一覧から、Amazon Redshiftを選択。
接続情報を入力。SQL Workbench/Jの時とは接続のための設定値が若干異なります。
項目 | 設定値 |
---|---|
1.サーバー名 | Amazon RedshiftクラスタのエンドポイントURLを設定。 |
1.ポート | Amazon Redshiftクラスタで設定した接続ポートを設定。 |
2.サーバー上のデータベース | Amazon Redshiftで作成したデータベース名を設定。 |
3.ユーザー名 | Amazon Redshiftクラスタ作成時に設定時に作成したユーザー名を設定。 |
3.パスワード | Amazon Redshiftクラスタ作成時に設定時に設定したパスワードを設定。 |
必要事項を入力後、接続を押下。接続が成功するとスキーマが選択出来るようになるのでpublicを選択。更にビューを選択しOKを押下。
接続方法を聞かれるのでライブで接続するを選択。
繋がりました!ちょっとした感動。
データを色々操作する事も出来ています! *1
まとめ
以上、Tableau社の製品『Tableau Desktop』をAmazon Redshiftと共に環境構築・実践利用してみました。Amazon Redshiftも導入の早さ、利用感の手軽さに驚きましたが、Tableau Desktopについても同じくらいの手軽さ、便利さに大いにびっくりさせられました。手順にも示した通り導入も煩わされる点は無く、利用のハードルはかなり低いのでは、と実際動かしてみて思いました。また機能についても機能豊富感満載ではありますが、各種マニュアル等も用意されているので気になる機能、ポイントから順次使ってみるというのも良さそうです。
最後になりますが、このエントリをご覧になって『これはちょっと気になる』という方が居られましたら、是非弊社にお問い合わせ頂ければと思います。宜しくお願い致します。 :-)
脚注
- 関東近辺だとどこもそんなに変わらない気候データなので北海道・東京・沖縄辺りのデータにしとくべきだったとここへ来て気づくなど(´・ω・) ↩