各製品の資料を入手。
詳細はこちら →AWS エバンジェリストシリーズ「特別編 Twitterの可視化 Glue とQuickSight の外部データソース拡張」のガイダンス
こんにちは、ようこそAWS エバンジェリスト「特別編 Twitterの可視化 Glue とQuickSight の外部データソース拡張」へ。イベントページ:https://awsbasics.connpass.com/event/263295/
データ分析用のサーバーレスETL サービスであるAWS Glue とデータ分析・ビジュアライズのAmazon QuickSight では、AWS 内の多様なデータを利用することが可能です。
しかし、ユーザー企業は多くのSaaS を使用しています(アメリカでは1企業で平均100を超えるSaaS を利用しています)。そのようなSaaS データをAmazon Glue やQuicksight の機能を拡張して使えるようにする方法を解説します。
CData Connect Cloud というクラウドサービスデータへのデータ接続サービスを使って、Glue、QuickSight からシームレスに外部SaaS データに接続を実践します。
ハンズオンでは、皆様がアカウントをお持ちのTwitter とGoogle スプレッドシートのデータを題材に、Glue およびQuickSight からAPI コーディングなしで接続からビジュアライズをお試しいただきます。
AWS Glue の概要説明
AWS Glue はサーバーレスなデータ統合サービスです。Extract(収集)、Transfer(変換)、Load(ロード)のETL プロセスを簡単に組んでデータの分析、ビジュアライズ、機械学習(ML)などでの利用を実現します。
- サーバーレス
- Glue Studio でノーコードでの利用が強化
- Data Catalog でのメタデータ管理
- AWS 系データソースに強い
Amazon QuickSight の概要説明
Amazon QuickSight はサーバーレスなデータ分析・ビジュアライズサービスです。
- サーバーレス
- 簡単に分析、ビジュアライズ組める
- SaaS やウェブアプリへの埋め込み(AWS ベースのSaaS とかだと最適)
- AWS 系データソースに強い
外部データアクセスの拡張とは?
企業ではいろいろなところに保管されているデータを使ってます。ETL やBI ツール / サービスでは、ユーザーがあらゆるデータにアクセスできるように多くのデータソースに対応する必要があります。
- データストレージ(S3 など)
- DWH(Redshift、Snowflake、Databricks など)
- DB(RDS などのサービス、EC2 などのVM 上のDB、オンプレミスDB)
- 他のプラットフォームの上記(GCP、Azure など)
- SaaS API(Salesforce、Dynamics365、kintone、G スプレッドシート、など)
Amazon QuickSight の対応データソース
下の図のようにAmazon QuickSight では、S3、Athena、RDS、Redshift などのAWS 上のデータストア・DB やMySQL、PostgreSQL、Oracle、SQL Server などのRDB に対応しています。さすがSalesforce やServiceNow などの超メジャーなエンプラSaaS への対応はあります。
AWS Glue の対応データソース
ETL サービスのGlue では、AWS 内のデータはもとより、BigQuery、Snowflake などのDWH へのアクセス用コネクタも提供されています。
これを見ると、「こんなSaaS につなぎたいのだけれど、見つからない」という声が聞こえてきそうです。自社が使っているSaaS に対するコネクタがない、という悩みはデータ分析を行う人は何度も遭遇している問題だと思います。
企業で利用するSaaS 数は平均100以上?
企業でのSaaS の利用はアメリカでは平均110以上との調査結果があります。これは大企業のみではなく中堅企業なども含めた企業の平均です。SaaS は、Salesforce、ServiceNow、Dynamics 365、Marketo などの大きなものから、細かい機能を持つサービスまでに広がっています。このように多くのSaaS データソースにユーザーは向き合わなければなりません。
SaaS には統一インターフェースがなく個別実装が必要
SaaS のAPI への連携はその種類だけでなく、連携実装にあたってのデザインが個々のAPI で異なることも問題です。RDB であれば多少の差異はあれテーブルオブジェクトにSQL 言語でアクセスをするという方言レベルでしたが、プロトコル、メタデータ、データモデル、認証、クエリ方法まで多様なオプションを持つAPI 連携に対し、個々に必要な実装を行う必要があります。
しかもWeb API の変更スピードは速く、簡単なバージョン変更から、認証変更、データモデルの大幅な変更までが行われる可能性が常にあります。
多くの場合、ETL / BI ツールがネイティブに対応していないコネクタでは、プログラミング言語でスクリプトを書いたりして個々のユーザーがAPI 連携を実装している状況です。ここに結構な時間や負荷がかかっています。
AWS Glue のデータ拡張はMarketplace コネクタとして提供
ETL サービスのAWS Glue では、増加し続けるSaaS 連携ニーズに対して「標準化されたコネクタ」をMarketplace 上でAmazon もしくはサードパーティが開発・公開して使える仕組みがあります。CData でもたくさんのAWS Glue Connector をサードパーティとして提供しています。このようなコネクタ群を使うことでAPI 連携部分の再利用がエコシステム全体で行うことができます。
今日はこのMarketplace Connector を使ってみます。
Amazon QuickSight では、Athena 経由でカスタムコネクタ
Amazon QuickSight では、Athena がデータソースとして利用可能です。Athena にはフェデレーテッドクエリでカスタムコネクタを追加することが可能であり(Lambda 経由)、QuickSight からアクセスできるデータソースを増やすことができます。
今日実装する2種類のデータ拡張:ETL・バッチ連携とリアルタイム連携
今日は、AWS Glue 経由のQuickSight 連携とQuickSight から直接外部データソースにアクセスする2つのパターンを試します。AWS Glue などのETL を使ってデータを一度DB / DWH に保存してから分析利用する方法を「ETL 連携、もしくはバッチ連携」と呼べます。間にデータを保管することなく直接QuickSight などの分析ツールからデータソースをクエリする方式を「リアルタイム連携」と呼びます。
外部データ連携の拡張は、AWS Glue で行うこともできますし、QuickSight で直接行うことも可能です。
利用するデータや用途によってどちらが向いているかは異なるので、メリット・デメリットを知ってユーザーの用途にフィットする実装をしていけばOK。
ここまでが今日のAWS Glue の外部データ拡張、QuickSight での直接のデータ拡張を行うにあたっての事前説明になります。
本編へ
AWS Glue でTwitter データとGoogle スプレッドシートのデータをS3 に格納:CData Connect Cloud
手順書:https://www.cdata.com/jp/blog/gsheets-glue-cloud-s3
Amazon QuickSight でTwitter データをリアルタイムに可視化する:CData Connect Cloud
手順書:https://www.cdata.com/jp/blog/twitter-cloud-quicksight
ハンズオンの途中で問題や質問がある場合にはチャット機能でおたずねください。