はじめに

ここでは、ビッグデータ活用のアプローチとして、QlikView・Qlik Senseの「オンデマンド・アプリ生成 (On Demand App Generation)」をご紹介します。

尚、ここで扱うデモは以下のサイトで公開されています。サンプルとしてElasticsearch + Twitter, SAP HANA, QlikView Server EDXなどが含まれています。

On Demand App Generation (英語)

ビッグデータ活用のアプローチ

まず、ここでご紹介します「オンデマンド・アプリ生成 (On Demand App Generation)」の位置付けをご説明したいと思います。

image

ビッグデータを扱うに当たり、そのデータ量などに応じて最適な利用環境を提供できるよう大きく分けて4つのアプローチをQlikは提唱しています。

  • インメモリ

データをインメモリに格納して高速に、かつ連想技術を活用して広範囲で柔軟な分析を行えるという、Qlikのコア技術を生かした最も一般的なアプローチになります。

  • セグメンテーション & ドキュメント・チェーン

全てのデータを一つのアプリに纏めてしまうのではなく、例えば地域や時間単位で分割するセグメンテーション、もしくはダッシュボードと明細分析といったデータ集計レベルや、製品分析や顧客分析といった活用目的によってアプリを分割し、アクションボタンで画面を透過的に遷移させるドキュメント・チェーンなどの、設計・開発上の最適化のアプローチになります。

  • ダイレクト・ディスカバリ

インメモリにデータを取り込んで分析を行うのではなく、ソースのシステムに対して都度クエリを発行して分析をおこなうアプローチになります。こちらについては、過去のエントリQlik Sense 「ダイレクト・ディスカバリ」を使ったビッグデータ分析(前編)でご紹介しています。

  • オンデマンド・アプリ生成

まずユーザーが自分の分析を行いたいデータ範囲の選択を行います。その選択条件に絞ってデータソースからデータをロードし、オンデマンドでアプリを作成してインメモリで分析するアプローチになります。Qlik Sense APIを使った開発作業が必要となりますが、膨大なデータソースを分析の対象としつつ、インメモリでの分析の柔軟姓を確保することができます。

Qlik Sense + Elasticsearch + Twitterのオンデマンド・アプリ作成

では、ここでは上記でご紹介したオンデマンド・アプリ生成のパッケージに含まれているTweet分析を行うQlik Sense + Elasticsearch + Twitterのサンプルをご紹介します。

このサンプルを利用して構築したデモのシステム構成は以下となっています。

image

ログ監視ツールのLogstashを使い、Tweetのイベント発生に基づいてTweetをElasticsearchに格納しています。ユーザーはまずNode.jsで構築されたポータルサイトにアクセスし、キーワードを入力してボタンを押すと、そのキーワードを含むTweetをQlik Sense EnterpriseがElasticsearchから抽出し、テンプレートからアプリをオンデマンドで生成します。

以下がNode.js上のポータルサイトになります。ここで検索ワード(以下の例では”qlik sense”)を入力し、「Analyze in Qlik Sense」のボタンをクリックします。

image

そうすると裏でElasticsearchから”qlik sense”の検索ワードに合致するデータをリロードしたオンデマンドでアプリが作成され、完了するとアプリ画面が立ち上がります。

image

ダッシュボードを開くと”qlik sense”のワードを使ってツイートしたユーザー数、時系列トレンド、地域別集計などが表示されます。

image

明細タブを開くと、ツイートの内容を確認することができます。この様に膨大なデータから分析対象のデータを絞り込んでオンデマンドでアプリを作成し、インメモリで分析を行うことができます。

image

QlikViewオンデマンド・アプリ作成

また、サンプルにはQlikViewのSAP HANAやMicrosoft SQL ServerをデータソースとしたQlikViewのオンデマンド・アプリ作成のアプリサンプルも含まれています。

選択用のアプリを開き、ここで軸から分析対象とする範囲の絞り込みを行います。選択をおこない「Analyze」ボタンをクリックします。

image

そうすると選択条件に従ってリロード処理が実行され、分析対象のデータのみを含んだ新たな分析用アプリが立ち上がります。

image

まとめ

以上、ビッグデータ活用のアプローチの一つとしてQlik Communityに公開されている、QlikView・Qlik Senseの「オンデマンド・アプリ生成 (On Demand App Generation)」をご紹介させて頂きました。