Slide 1

Slide 1 text

Amazon AppFlow で SaaS データ取込みを自動化して QuickSightで可視化してみた JAWS-UG TOHOKU 2021/04/14 CData Software Japan 宮本

Slide 2

Slide 2 text

Amazon AppFlow で SaaS データ取込みを自動化して QuickSightで可視化 Crawler AWS Glue Data Catalog Amazon S3 Athena QuickSight AWS Glue 連携データ BackUp Amazon AppFlow

Slide 3

Slide 3 text

Me • CData Software Japan のエンジニア • 宮本 航太(@miyamon44) • CData Sync (ELTツール) を年中触ってる人 • テクニカルサポート、開発、他社サービスとの検証も • ETL/ELT、データ仮想化というワードをウォッチ中 最近はAWS Glue、Athenaのカスタムコネクタ、S3Lambda あた りが気になってる

Slide 4

Slide 4 text

ノーコードデータ連携 Glue Studio Azure Data Factory Google Cloud Data Fusion ・ 海外、国内問わず GUI 上で完結できる(ノーコード)データ連携サービス・ツールは多くなってきてる ・ 最近では ELT と呼ばれるデータ転送を主とした方式がフォーカスされている ノーコード=アプリ開発というイメージが強いけど

Slide 5

Slide 5 text

データ連携:ETLのケース SaaS DB/S3 など データ抽出 変換 ロード DB

Slide 6

Slide 6 text

データ連携:ELTのケース SaaS データ抽出 変換 DB/S3 など ロード DB DWH:Redshift, BigQuery, Snowflake, etc… データレイク(クラウドストレージ):S3、GCS, etc… 取得したデータを ほぼそのままロード ロード後に必要で あれば変換

Slide 7

Slide 7 text

データ連携:ELTのケース SaaS データ抽出 変換 DB/S3 など ロード DB DWH:Redshift, BigQuery, Snowflake, etc… データレイク(クラウドストレージ):S3、GCS, etc… 取得したデータを ほぼそのままロード ロード後に必要で あれば変換

Slide 8

Slide 8 text

Amazon AppFlow

Slide 9

Slide 9 text

Amazon AppFlowでそれが簡単にできる https://aws.amazon.com/jp/appflow/faqs/ 公式サイトにて

Slide 10

Slide 10 text

いろいろなパターンの連携が可能 データ抽出 変換 ロード ・ 面倒なAPI仕様もあまり気にしなくても使える ・ SaaS → DWH/S3、 SaaS/File → SaaS がすぐできる Amazon Redshift Amazon AppFlow

Slide 11

Slide 11 text

この連携をやってみた データ抽出 変換 ロード SaaS to DWH、S3への転送に加え、SaaS to SaaS もできる! Amazon Redshift

Slide 12

Slide 12 text

AppFlowで連携後の構成 Crawler AWS Glue Data Catalog Amazon S3 Athena QuickSight AWS Glue テーブル作成するだけな ので初回だけ実行 連携データ BackUp Amazon AppFlow

Slide 13

Slide 13 text

Salesforce to S3 データソース、送信先の設定は選択形式 Salesforce ではイベントドリブンでジョブを実行できる 例)商談データが変更された、リードデータが変更されたなど

Slide 14

Slide 14 text

Salesforce to S3 (トリガー) 取込みを自動化したいのでスケジュール実行

Slide 15

Slide 15 text

Salesforce to S3 (変換) • データソースと同期先のフィールドマッピング • 取込みデータの妥当性 • フィルター条件 • 追加フィールドの取込み • 値のマスキング、文字列の切り捨て設定 ※Salesforceの場合は削除レコードの扱いを設定できた 以上で設定完了。すぐに始められる。 言い換えると、複雑なデータパイプラインは作成できない。

Slide 16

Slide 16 text

AWS Glue クローラー Glue でS3に格納したファイルをもとに推論でスキーマ情報をデータカタログに作成してくれる

Slide 17

Slide 17 text

AWS Glue クローラー こっちもGUI 上で選択するだけ。1回の実行でOK

Slide 18

Slide 18 text

AWS Glue クローラー 実行後、スキーマ情報を編集できる

Slide 19

Slide 19 text

Athena で連携データにクエリ これでAthena上でクエリできる。 →CTASで複数データソース(Salesforce と Marketoなど)を結合したテーブルを作成できる

Slide 20

Slide 20 text

スケジュール実行の場合、古いファイルは退避 複数回の連携でファイルの中身が重複してしまうので、既存ファイルはどこかに退避すると良い。 (AWS Batchなどで)

Slide 21

Slide 21 text

QuickSightで可視化 データソースにAthenaのテーブルを選択するだけ

Slide 22

Slide 22 text

QuickSightで可視化 データは準備できたので可視化するだけ

Slide 23

Slide 23 text

マルチデータソースでも同じ構成で可視化できる Crawler AWS Glue Data Catalog Amazon S3 Athena QuickSight AWS Glue Amazon AppFlow

Slide 24

Slide 24 text

まとめ 1.SaaS APIのエンドポイントを熟知しなくても簡単にデータを抜き出せる 2.AppFlow + Glue クローラー + Athena + QuickSight で、 SaaS データを可視化できる 3.データソースが変わっても同じ手法で利用できる α.SaaS への連携もできる!(CSV → Salesforce など)

Slide 25

Slide 25 text

Thank you!