Amazon QuickSight でTwitter データをリアルタイムに可視化する:CData Connect Cloud

by 對馬陽子 | 2022年11月07日

こんにちは。マーケティング担当の對馬です。
昨今データドリブン、DXと言われ続けていますが、企業によるデータ分析ニーズは年々増加しており、経営戦略だけではなく現場部門レベルで分析が行われ、各々の活動に役立てています。そしてデータ分析にはクラウド上のBI サービスが主に利用され、各サービスに蓄積されているデータをビジュアライズしながら傾向分析をしています。

本記事ではAWS のBI サービスであるAmazon QuickSight の外部データの拡張をCData Connect で行い、複数のSaaS データをリアルタイムに取得する内容をご紹介していきます。

Amazon QuickSight

BI ツールはデータをもとにデータダッシュボードを作成することができます。分析するためのデータへの接続が必要ですが、Amazon QuickSight は他のAWS のデータソースに直接接続できることが特徴の一つに挙げられます。AWS のデータソースの他にも、SaaS やファイルからデータを取得できます。

https://aws.amazon.com/jp/quicksight/

CData Connect Cloud

CData Connect Cloud は、クラウドツールの接続先を拡張するサービスです。Amazon QuickSight にも対応しており、Amazon QuickSight から100+ のデータソースにノーコードで接続可能にします。

本記事では、CData Connect Cloud を使ってAmazon QuickSight でTwitter のデータとGoogle スプレットシートのデータを利用する方法をご紹介します。

ハンズオンで行う構成

Amazon QuickSight とCdata Connect をつなぎ、さまざなSaaS コネクタがあるなかから Twitter と Google スプレッドシートのデータをCData Connect 経由でリアルタイムにデータを取得して、最後はQuickSightでビジュアライズしていきます。

と、お伝えしましたが、↑↑の構成図だけではイメージが湧かないと思いますので、もう少しだけ各パートの接続方式についてだけ最初に触れていきたいと思います。

まずは下の絵の左側部分になりますが、CData Connect からTwitter や スプレッドシートなどのSaaS に接続する部分は、それぞれで公開されているAPI を通じてデータを取得します。ここまでは想像通りかと思います。

次にCData Connect と Amazon QuickSight の接続部分を見ていきましょう。
CData Connect ではSaas データを受け取ったあとに3種類のインタフェースで外部に公開してデータ仮想化を行うことができます。

  • OData インタフェース  
  • REST API インタフェース  
  • SQL Server インタフェース(TDS プロトコル)  

これらのインタフェースをQuickSight で確認すると、2022年11月時点では SQL Server インタフェースだけが提供されていますので、これを使ってCData Connect に接続していきます。

このように実際は SQL Server ではないものの、インタフェースを合わせて外部サービスやツールなどからデータベースとみなして接続できることをデータ仮想化と言います。

AWS サービスの中でも似たようにデータ仮想化しているサービスがあります。それがBabelfish for Aurora PostgreSQL です。
Babelfish for Aurora PostgreSQL | アマゾン ウェブ サービス (amazon.com)

Babelfish for Aurora PostgreSQL もPostgreSQL のデータを SQLServer として仮想化して、同じように TDS プロトコルで外部からアクセスすることができます。

まずは今回QuickSight 編で行う構成について簡単に説明してみました。

それではさっそく始めていきましょう。

1-1:CData Connect Cloud での設定

最初にCData Connect にアクセスしてみましょう。

CData Connect Cloud は、30日間の無償トライアルがあります。製品ページからお申込みください。

https://www.cdata.com/jp/cloud/

アクセスするとアカウント情報を登録する画面が開かれますので、適宜入力して画面下部のCreate Account ボタンをクリックします。

アカウントが作成されましたら CData Connect Cloud にログインします。ログイン直後、コネクション選択の画面が開かれますが、左上のCData ロゴを押下してトップ画面に戻ってください。

1-1-1:Twitter 接続設定

次にCData Connect Cloud からTwitter へのコネクションを作成していきましょう。

CData Connect Cloud 画面左メニューから「Connections」を開きます。データソースへの接続は、この画面で管理されます。Connections ページの画面右上の「Add Connection」を押下し、新規接続を作成します。

接続可能なデータソース一覧が表示されます。検索窓から「Twitter」を検索し、アイコンを選択します。

Twitter 接続設定画面が表示されます。接続名はわかりやすい任意の名前で設定(デフォルト:Twitter1)し、下の「Sign in」ボタンを押下しTwitter に接続します。

Twitter 画面が開き、アクセス許可を求められます。「連携アプリを認証」ボタンを押下し、認証します。

自動的にCData Connect Cloud の画面に戻ります。緑のメッセージが出ると、Twitter への接続は成功です。

1-1-2:接続情報の確認とPAT 発行

次はQuickSight からCData Connect への接続時に使用するPAT というクレデンシャル情報を発行します。

このPAT は「Personal Access Token」の略称で、ユーザーに紐づいたアクセストークンが発行することができます。

CData Connect Cloud の画面左メニューから「Clients」を開きます。

CData Connect Cloud に接続できるクラウドツールが表示されます。一覧からAmazon QuickSight を選び、「Connect」をクリックします。

Amazon QuickSight からの接続方法が表示されます。サーバーやポートは、Amazon QuickSight での接続時に利用するため控えておいてください。「Create PAT」ボタンから個人用アクセストークンを発行します。(※ハンズオンでは不要です。)

設定画面が開かれます。「Create PAT」から新規PAT を発行します。

任意の名前を指定します。例:AWShandson

「Create」ボタンを一度だけ押下します。

PAT が発行され、画面に表示されます。一度しか表示されませんので、PAT は控えておいてください。

これでTwitter のデータをCData Connect を通して外部から取得できるまでの設定が完了しました。

1-2:Amazon QuickSight での設定

Amazon QuickSight からCData Connect への接続設定を行います。

1-2-1:データセット設定

作成したCData Connect Cloud の接続を、Amazon QuickSight から利用する設定をします。

AWS コンソールにアクセスします。

https://aws.amazon.com/jp/

左上の検索窓から「QuickSight」を検索し、選択します。

QuickSight の画面が開かれます。

左メニューから「データセット」を開きます。「新しいデータセット」を押下します。

接続可能なデータセット一覧が表示されます。今回はCData Connect Cloud を仮想SQL Server として接続するため、一覧の中から「SQL Server」を選択します。

SQL Server 接続設定画面が開かれます。CData Connect Cloud で設定した情報を入力します。

設定項目 設定内容
データソース名 任意
接続タイプ デフォルト
データベースサーバー tds.cdata.com
ポート 14333
データベース名 接続名
ユーザー名 CData Connect Cloud のユーザー名
パスワード PAT ※CDataConnect で取得したPersonal Access Token

入力が終わりましたら「接続を検証」ボタンを押下し、正常に接続できることを確認します。確認後、「データソースを作成」ボタンで設定内容を保存してください。

Twitter への接続ができたら、接続を利用してQuickSight からのクエリを設定するため「カスタム SQLを使用」をクリックします。   

カスタムクエリの任意の名前を設定したら、下記クエリを指定してクエリの確認をクリックします。

SELECT * FROM [Twitter1].[Twitter].[Tweets] where SearchTerms='#awsbasics' order by Created_At desc limit 100;

今回はリアルタイムアクセスということで都度クエリを実行する方式を選択します。


グラフを作成する画面が表示されます。

1-2-2:ビジュアライズ

ビジュアルタイプをテーブルにして、ディメンションとメトリクスをそれぞれ指定します。

・グループ化の条件(ディメンション):From_User_Name(ユーザー名)、Text(ツイート内容)、Created_At(ツイート日時)  

・値(メトリクス):Favorite_Count(いいね数)、Retweet_Count(リツイート数)   

ツイートリストを表示するとCreated_At が持っている秒までの値が省略されてしまっていることがわかりますので、

Created_At の右側にある矢印ボタンをクリックして、「集計」→「秒」に変更します。

これで値が秒まで表示されるようになりました。あとは日時項目の表示順とソート順を指定します。  
下記赤枠の順で進み、「その他のフォーマットオプション」をクリックします。  

左側にフォーマットメニューが表示されますので、今回はカスタムをクリックして「YYYY/MM/DD HH:mm:ss」を入力します。これで表示内容が「2022/11/19 13:01:22」というような値になります。

今度はソート順を指定します。下記赤枠のとおりに進みます。

項目を「Created_At」、並び替え順を「降順」に指定したら画面下部の「適用」ボタンをクリックします。  


並べ替えは「Created_At」項目に対して下記の順でクリックして降順に指定するだけです。

では作成できたブラフを公開します。右上にある共有ボタンから「ダッシュボードの公開」をクリックします。  

任意のダッシュボード名を指定したら「ダッシュボードの公開」をクリックします。  

このように「#awsbasics」でツイートした直近100件をリストアップしてみました。
直接クエリにしているのでダッシュボードを開いたタイミングで直接更新クエリが実行されるようになります。  
※SPICEへのインポートを試している場合は更新ボタンをクリックしてください

テキスト内容が見やすいように表で作成しましたが、Amazon QuickSight ではさまざまなビジュアルタイプが用意されています。分析内容に適した表現を選択することが可能です。

2:Google スプレットシートデータをQuickSight で可視化

では、同じことを今度はTwitter ではなくGoogle スプレッドシートで行ってみます!

(スプレッドシート)テストデータの準備

今回は事前にこちらで用意したテストデータを使用していきますので、下記リンクよりCSVファイルをダウンロードください。

CSV 取得

ダウンロードしたらスプレッドシートに取り込みます。「ファイル」→「インポート」と進むと、

メタル系のCDランキングがスプレッドシートに取り込まれます。

これでスプレッドシート側の準備が整いました。

2-1:CData Connect Cloud での設定

CData Connect Cloud 側の設定をしますので、CData Connect を開きます。  

2-1-1:Google スプレッドシート接続設定

CData Connect Cloud からGoogle スプレッドシートへの接続を作成します。

CData Connect Cloud にログインし、左メニューの「Connections」を開きます。

Connections 画面右の「Add Connection」ボタンを押下し、新規接続を作成します。

検索窓から「Google Sheets」を検索し、アイコンを選択します。

Google Sheets 接続設定画面が開かれます。

任意の接続名を設定できます。今回はデフォルトの「GoogleSheets1」で作成します。

接続認証は、OAuth 認証で行います。「Sign in with Google」ボタンを押下し、接続を確立します。

接続するアカウントを選択します。

アクセス権限を付与します。

正常に接続できたことを確認します。

CData Connect Cloud 画面右の「Create & Test」を押下し、接続設定内容を保存します。

2-1-2:PAT の作成

個人用アクセストークンは、Twitter 接続時に発行したものを利用します。
※別名で発行することも可能です

2-2:Amazon QuickSight での設定

Amazon QuickSight でGoogle スプレッドシートデータを利用した分析を作成します。

2-2-1:データセット設定

作成したCData Connect Cloud の接続を、Amazon QuickSight から利用する設定をします。

QuickSight を開きます。

左メニューから「データセット」を開きます。「新しいデータセット」を押下します。

接続可能なデータセット一覧が表示されます。今回はCData Connect Cloud を仮想SQL Server として接続するため、一覧の中から「SQL Server」を選択します。

SQL Server 接続設定画面が開かれます。CData Connect Cloud で設定した情報を入力します。

設定項目 設定内容
データソース名 任意
接続タイプ デフォルト
データベースサーバー tds.cdata.com
ポート 14333
データベース名 Google スプレッドシート接続名
ユーザー名 CData Connect Cloud のユーザー名
パスワード PAT

入力が終わりましたら「接続を検証」ボタンを押下し、正常に接続できることを確認します。確認後、「データソースを作成」ボタンで設定内容を保存してください。

Google スプレッドシートへの接続ができたので、接続を利用してテーブルを選択します。

スキーマではGoogleSheets を選択します。続いてテーブルを選択します。テーブルはcdranking を選択、「選択」ボタンを押下します。

デフォルトのまま、「Visualize」ボタンでビジュアライズ作成に進みます。

ビジュアライズ作成画面が開かれます。

2-2-2:ビジュアライズ

ビジュアルタイプを棒グラフにして、アーティスト名と売上枚数を可視化します。

あとはダッシュボードの公開をして完了です。

お疲れ様でした!!

まとめ

いかがでしたでしょうか。CData Connect Cloud を利用することで、Amazon QuickSight のデータセットを100+ 拡張し、あらゆるデータを使った分析を可能にします。また、複雑なコードが不要なため、シンプルに実装できることが特徴です。

CData Connect Cloud では、30日間の無償トライアルをお試しいただけます。ぜひ体感してください。

https://www.cdata.com/jp/cloud/

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。