IDCF テックブログ

IDCF テックブログ

クラウド・データセンターを提供するIDCフロンティアの公式テックブログ

Yahoo!ビッグデータインサイト + オープンソースre:dashで、 アクセスログ可視化ダッシュボードを作ってみた!

※2016年10月1日より、サービス名称が「Yahoo!ビッグデータインサイト」から「トレジャーデータサービス by IDCF」に変更となっております。

こんにちは!ビッグデータ戦略グループの朴です。以前、Yahoo!ビッグデータインサイト(以降、YBI)の基本的な使い方を解説した 「Yahoo!ビッグデータインサイトめちゃ楽ガイド」を紹介しました。
めちゃ楽ガイドでは、データのインポート・分析・出力について解説しましたが、今回はその次のステップとして 「分析結果を可視化する」方法として、YBIとオープンソースBIツールre:dashを組み合わせてWebサイトのアクセスログを可視化するダッシュボードの作成方法を紹介します!

f:id:jpark:20160224161620p:plain

              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にアクセスして、ログインしてください。

f:id:jpark:20160224163839p:plain

赤い枠の「Data Sources」をクリックします。

f:id:jpark:20160224164731p:plain

「Add Data Source」をクリックします。

f:id:jpark:20160224164945p:plain

下図のような入力画面が表示されます。
YBIではTreasure Data社が提供するプラグインをそのまま使えるので、「Type」で「TreasureData」を選択します。

f:id:jpark:20160224165012p:plain

● 入力項目

  • 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」をクリックします。

f:id:jpark:20160224165640p:plain

クエリ作成画面が表示されます。

f:id:jpark:20160224165707p:plain

早速クエリを書いてみましょう。
時間毎のPage View数を集計する基本的なクエリを書いたら、「Execute」をクリックして
クエリを実行します。

下記のように、実行結果が表示されます。

  • 画面の上のクエリの名前を「Page View」で入力します。
  • スケジュール機能を追加します。今回は、毎日00:00時にクエリが実行されるように
    設定します。
  • 問題なければ、「Save」をクリックして保存します。

f:id:jpark:20160224170656p:plain

Step 3. クエリ結果をチャート化する。

Step3では、実行したクエリの結果をチャート化して、ダッシュボードにアップロードします。

「New Visualization」をクリックします。

f:id:jpark:20160224171049p:plain

チャートの種類は棒型、円型、折れ線型などいろいろ選べます。今回は、時間別のアクセス数推移をみるために、折れ線チャートを選びます。X軸に「hour」をY軸に「pv」を選択すると、下記のようなグラフが表示されます。問題なければ、「Save」をクリックします。

f:id:jpark:20160224171137p:plain

■Step 4 チャートをダッシュボードにアップロードする

Step4ではStep3で作成したチャートをダッシュボードにアップロードします。

「New Dashboard」をクリックします。

f:id:jpark:20160224171501p:plain

ダッシュボードには、様々なチャートを一つの画面でまとめて表示することができます。今回は、Webサイトのアクセスに関するチャートをダッシュボードにまとめて表示するため、ダッシュボードの名前に「Website Analysis」と入力し、「Save」をクリックして保存します。

f:id:jpark:20160224171550p:plain

下図のような画面が表示されます。チャートをアップロードするために、「Add Widget」を
クリックします。

f:id:jpark:20160224171621p:plain

チャートは作成したクエリに紐付いているので、Step2で作成したクエリである「Page View」を入力し、「Add to Dashboard」をクリックします。

f:id:jpark:20160224171703p:plain

ダッシュボードにチャートが追加されました。

f:id:jpark:20160224171726p:plain

「Page View」だけでは、寂しいので、時間毎のUU数、PVトップ10のページなどを 表示する
チャートも追加してみました。

f:id:jpark:20160224171744p:plain

Webサイトのアクセス状況を把握するために、PV、UU、各PathのPV数という三つの チャートをダッシュボードにまとめて表示することができました。

最後に、YBIにログインしてみます。 re:dashから発行したクエリが実行されたことが、YBI
ダッシュボードからも確認することができます!

f:id:jpark:20160224171813p:plain

■おわりに

YBIとre:dashを使ってダッシュボードを構築する方法を紹介いたしました。 分析結果を可視化するための、初めのステップとして、YBIとの連携が簡単なオープンソースのre:dashを使ってみるのはいかがでしょうか。 データ分析結果の可視化について参考になれば幸いです。

関連記事

Copyright © IDC Frontier Inc.