share facebook facebook2 twitter menu hatena pocket slack

2013.05.24 FRI

Redshiftってなんじゃ?(BI編:JaspersoftでRedshift)

三浦 悟

WRITTEN BY三浦 悟

以前紹介した「[Redshiftってなんじゃ?」では、psqlでRedshiftを利用してみましたが、通常データウェアハウス
(DWH)というのはBI(Buisiness Intelligence)ツールを利用することが多いようです。

エンジニアの観点からすると複雑なSQLを書くだけでいいかもしれませんが、経営者などの立場からすると
BIツールなどを使って画面上でポチポチやって分析できることが重要なようです。

今回はそのBIツールの中で、Redshiftにいち早く対応しているJaspersoftという製品を使ってRedshiftに
接続してみたいと思います。

○起動とログイン

RedshiftとRDSに対応してあるバージョンのJaspersoftのAMIがマーケットプレイスにあるので、
こちらを購入します。

Jaspersoft Reporting and Analytics for AWS

このAMIはインスタンスのランニングコスト以外にもソフトウェアの使用料金が時間単位でかかります。
ここでは、RedshiftのあるUSのリージョンで起動します。

AWSコンソールのページが開き、インスタンス起動のウィザードが実行されます。

Redshiftと同じゾーンを選択します。
今回はm1.mediumのサイズで起動します。

ここではルートボリュームを100GBにします。

また、セキュリティグループではSSHとHTTPを空けておきます。

起動させたあと、このインスタンスのPublicDNSまたはEIPに対してローカルのブラウザからアクセスしてみます。
そうすると、jasperサーバーの初期画面が表示されるので、「Login」をクリックします。

そうすると、ログイン画面が表示されます。

「ログインのお手伝いが必要ですか」というリンクをクリックすると、下図のように初期のID、パスワードが
表示されます。
ここではsuperuserでログインしてみます。

そうすると、新しいパスワードを要求されるので、好きなパスワードを設定して改めてログインします。

これでログインすることができました。
下記がJasperサーバーのホーム画面のようです。

○データソースの登録

次に、データソースを作成します。
ここでいうデータソースとは、データがある場所を示します。
データベースの場合やファイルの場合などがあり、ここではRedshiftをデータソースとして登録します。
グローバルヘッダの「作成」から「Data Source」を選択します。

データソース作成画面では、タイプ欄からいくつかのデータソースタイプが選択でき、
今回は「JDBC Data Source」を選択します。

尚、「AWS Data Source」でRedshiftを選択しても接続できます。

○ドメインの作成

次にドメインを作成します。
ドメインとはビューに渡すデータセットに当たります。
データソースからデータを選別してビューに渡すために整理した状態にします。

グローバルヘッダから「作成 > ドメイン」を選択します。

ドメイン作成画面では、ドメイン名と作成したドメインの保存場所を適当に入力します。
また、データソースには先ほど作成したRedshiftのデータソースを選択します。
そして、ドメインデザイナのリンクをクリックします。

そうすると、ドメインデザイナが開き、データソースの「テーブル」タブが表示されます。
ここで、「>」ボタンなどで使用するテーブルを右側の枠に持っていきます。

次の「派生テーブル」タブで選択されたテーブルを対象に直接クエリ(SubQuery)などをかけられます。

また、複数のテーブルを結合(Join)ができます。

さらに、フィルタ(Where)をかけることも可能です。

つまりドメインというのはGUIで作るSQL、つまりクエリビルダのようなものです。

最後の「表示」タブでは、このようにして作ったデータセットに対して、レポート表示時のラベルを付けることが
できます。

そして「OK」を押すと、ドメインにこの設定が保存されます。
ドメイン作成画面に戻り、「送信」を押すとこのドメインが作成されます。

○アドホックビューの作成

次にアドホックビューを作成します。
アドホックビューは、レポート用の様々なタイプのビューで、グラフなどを作成できます。

アドホックビューでは最初に、入力ソースを選択します。
ここでは、さきほど作成したドメインを選択します。

次に、ドメインに含まれるフィールドを選定します。
使用するフィールドを右側に移動し、下部のボタンから、テーブルやグラフなど表示タイプのボタンを押します。
今回は「グラフ」のボタンを押します。

そうすると、UIデザインの画面が開きます。
ここで、左側の「フィールド」と「メジャー」から中央上部の「列」や「行」に適用する項目をドラッグします。
この部分はGoogle Analyticsでカスタムレポートに指標やディメンションを追加するのに似ています。

ここでは、列にprefecture_name, 行にcntをセットして、右側のデータラベルを右側にスライドします。
そうすると以下のようにグラフが自動で作成されます。
グラフのタイプを変更するには、グラフ左上の歯車アイコンをクリックして、変更します。

保存する場合は、中央ツールバーのディスクアイコンで保存します。

○レポートの作成

次に、レポートを作成します。
レポートは基本的に、アドホックビューを選択するだけです。

レポート作成画面でもグラフのタイプを変更することができます。

ツールバーのディスクアイコンでレポートを保存します。

○ダッシュボードの作成

最後はダッシュボードです。

ダッシュボードの作成画面では、複数のレポートを貼り付けたり、コントロールを貼り付けたりして帳票としての
全体的な画面を作ります。

作成されたダッシュボードは以下のようになります。
このように、DBの知識がほとんどなくてもいろいろなデータの見た目をプリセットで整えて、手軽に更新、
確認できるものがBIツールの役目のようです。

○まとめ

Jaspersoftを使ってみた感覚としては、独特のコンポーネントにつけられた用語や意味を把握するのに
少し戸惑いますが、慣れてしまうと直感的に操作ができます。
ただ、異なるデータソースのデータ同士をJoinできるかと思ったのですが、やりかたがわかりませんでした。
その場合は、RedshiftにインポートしてRedshiftデータソースとして、ドメイン内でJoinしてしまえばよいかなと
思います。

こちらの記事はなかの人(memorycraft)監修のもと掲載しています。
元記事は、こちら

三浦 悟

三浦 悟

高円寺在住のなんじゃ系男子 またの名をmemorycraftといいます。 炭水化物大好き 日々の「なんじゃ?」を記事にしてます。