※2016年10月1日より、サービス名称が「Yahoo!ビッグデータインサイト」から「トレジャーデータサービス by IDCF」に変更となっております。
こんにちは!ビッグデータ戦略グループの朴です。以前、Yahoo!ビッグデータインサイト(以降、YBI)の基本的な使い方を解説した 「Yahoo!ビッグデータインサイトめちゃ楽ガイド」を紹介しました。
めちゃ楽ガイドでは、データのインポート・分析・出力について解説しましたが、今回はその次のステップとして 「分析結果を可視化する」方法として、YBIとオープンソースBIツールre:dashを組み合わせてWebサイトのアクセスログを可視化するダッシュボードの作成方法を紹介します!
re:dashのダッシュボード
YBIは、大量のデータを収集・保存・分析できるプラットフォームサービスで、様々なツールとの連携性に優れています。 今回は、データの可視化に焦点を置いてre:dashと連携する方法を紹介します。
re:dashはオープンソースのBIツールとして、様々なデータソースに対応しています。 クエリを設定しておき、その結果をデータリスト化やグラフ化してくれます。 YBIユーザーにとって、YBI専用のプラグインが用意されているのでYBIと連携しやすいことが大きなメリットです。
(re:dashの公式サイトはこちら)
re:dashについて詳しく知りたい方は上記の公式サイトをご参考ください。
(追記:2016/08/05)
IDCFクラウドのコミュニティテンプレートにも最近re:dashが追加されました。
数クリックでre:dashインストール済みの仮想マシンが立ち上がり、すぐにre:dashを試すことができます。
(/追記ここまで)
前置きが長くなりましたが、さっそくWebサイトのアクセスログ可視化ダッシュボードを作ってみましょう!
■前提条件
- YBIのアカウントを持っている。
- YBIの基本的なWeb UIを操作できる。
- re:dash環境が構築されている。
- 基本的なSQL文を書ける。
re:dash環境の構築に時間がかかるかもしれません。このブログでは、re:dashのインストールに関する説明は省略しますが、詳しくは下記URLをご参照ください。m(__)m
re:dashのインストール関してはこちら
■流れ
Step 1. re:dashとYBIを繋ぐ
Step 2. re:dashからYBIへクエリを発行する
Step 3.クエリ結果をチャート化する
Step 4.チャートをダッシュボードにアップロードする
これから、手順の説明が長くなりますが、最後までやってみましょう!
■Step1. re:dashとYBIを繋ぐ
Step1では、re:dashからYBIに繋げるための設定情報を記入して、YBIと繋ぎます。
まず、re:dashにアクセスして、ログインしてください。
赤い枠の「Data Sources」をクリックします。
「Add Data Source」をクリックします。
下図のような入力画面が表示されます。
YBIではTreasure Data社が提供するプラグインをそのまま使えるので、「Type」で「TreasureData」を選択します。
● 入力項目
- Name:自分がわかりやすいデータソース名を入力します。
- Apikey:YBIのAPI Keyを入力します。
- Database Name:「sample_datasets」を入力します。今回は、YBIに既に入っている
アクセスログのサンプルデータを使います。 - Endpoint:YBIのエンドポイントである「https://ybi.jp-east.idcfcloud.com/」を入力します。
- Type:「presto」で入力します。デフォルトはhiveですが、今回はprestoを使います。
(YBIでPrestoが利用できない場合には、hiveを入力します)
これで、re:dashとYBIを繋ぐ設定が完了しました!すごく簡単ですよね?笑
■ Step 2. re:dashからYBIへクエリを発行する
Step2では、re:dashでクエリを作成して、YBIのデータベース上にあるアクセスログの サンプルデータに対してクエリを発行します。 (YBIにある「sample_datasets」というデータベース内の「www_access」というテーブルのデータを使います)
「New Query」をクリックします。
クエリ作成画面が表示されます。
早速クエリを書いてみましょう。
時間毎のPage View数を集計する基本的なクエリを書いたら、「Execute」をクリックして
クエリを実行します。
下記のように、実行結果が表示されます。
- 画面の上のクエリの名前を「Page View」で入力します。
- スケジュール機能を追加します。今回は、毎日00:00時にクエリが実行されるように
設定します。 - 問題なければ、「Save」をクリックして保存します。
Step 3. クエリ結果をチャート化する。
Step3では、実行したクエリの結果をチャート化して、ダッシュボードにアップロードします。
「New Visualization」をクリックします。
チャートの種類は棒型、円型、折れ線型などいろいろ選べます。今回は、時間別のアクセス数推移をみるために、折れ線チャートを選びます。X軸に「hour」をY軸に「pv」を選択すると、下記のようなグラフが表示されます。問題なければ、「Save」をクリックします。
■Step 4 チャートをダッシュボードにアップロードする
Step4ではStep3で作成したチャートをダッシュボードにアップロードします。
「New Dashboard」をクリックします。
ダッシュボードには、様々なチャートを一つの画面でまとめて表示することができます。今回は、Webサイトのアクセスに関するチャートをダッシュボードにまとめて表示するため、ダッシュボードの名前に「Website Analysis」と入力し、「Save」をクリックして保存します。
下図のような画面が表示されます。チャートをアップロードするために、「Add Widget」を
クリックします。
チャートは作成したクエリに紐付いているので、Step2で作成したクエリである「Page View」を入力し、「Add to Dashboard」をクリックします。
ダッシュボードにチャートが追加されました。
「Page View」だけでは、寂しいので、時間毎のUU数、PVトップ10のページなどを 表示する
チャートも追加してみました。
Webサイトのアクセス状況を把握するために、PV、UU、各PathのPV数という三つの チャートをダッシュボードにまとめて表示することができました。
最後に、YBIにログインしてみます。 re:dashから発行したクエリが実行されたことが、YBI
ダッシュボードからも確認することができます!
■おわりに
YBIとre:dashを使ってダッシュボードを構築する方法を紹介いたしました。 分析結果を可視化するための、初めのステップとして、YBIとの連携が簡単なオープンソースのre:dashを使ってみるのはいかがでしょうか。 データ分析結果の可視化について参考になれば幸いです。