Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Appflow で SaaS データ取込みを自動化してQuickSightで可視化してみた / appflow-salesforce-quicksight

Amazon Appflow で SaaS データ取込みを自動化してQuickSightで可視化してみた / appflow-salesforce-quicksight

2021/4/14 JAWS-UG TOHOKU

F274f2fd3531a606f0a5766c9052b5d8?s=128

Miyamotok

April 14, 2021
Tweet

Transcript

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

    Software Japan 宮本
  2. Amazon AppFlow で SaaS データ取込みを自動化して QuickSightで可視化 Crawler AWS Glue Data

    Catalog Amazon S3 Athena QuickSight AWS Glue 連携データ BackUp Amazon AppFlow
  3. Me • CData Software Japan のエンジニア • 宮本 航太(@miyamon44) •

    CData Sync (ELTツール) を年中触ってる人 • テクニカルサポート、開発、他社サービスとの検証も • ETL/ELT、データ仮想化というワードをウォッチ中 最近はAWS Glue、Athenaのカスタムコネクタ、S3Lambda あた りが気になってる
  4. ノーコードデータ連携 Glue Studio Azure Data Factory Google Cloud Data Fusion

    ・ 海外、国内問わず GUI 上で完結できる(ノーコード)データ連携サービス・ツールは多くなってきてる ・ 最近では ELT と呼ばれるデータ転送を主とした方式がフォーカスされている ノーコード=アプリ開発というイメージが強いけど
  5. データ連携:ETLのケース SaaS DB/S3 など データ抽出 変換 ロード DB

  6. データ連携:ELTのケース SaaS データ抽出 変換 DB/S3 など ロード DB DWH:Redshift, BigQuery,

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

    Snowflake, etc… データレイク(クラウドストレージ):S3、GCS, etc… 取得したデータを ほぼそのままロード ロード後に必要で あれば変換
  8. Amazon AppFlow

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

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

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

    Amazon Redshift
  12. AppFlowで連携後の構成 Crawler AWS Glue Data Catalog Amazon S3 Athena QuickSight

    AWS Glue テーブル作成するだけな ので初回だけ実行 連携データ BackUp Amazon AppFlow
  13. Salesforce to S3 データソース、送信先の設定は選択形式 Salesforce ではイベントドリブンでジョブを実行できる 例)商談データが変更された、リードデータが変更されたなど

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

  15. Salesforce to S3 (変換) • データソースと同期先のフィールドマッピング • 取込みデータの妥当性 • フィルター条件

    • 追加フィールドの取込み • 値のマスキング、文字列の切り捨て設定 ※Salesforceの場合は削除レコードの扱いを設定できた 以上で設定完了。すぐに始められる。 言い換えると、複雑なデータパイプラインは作成できない。
  16. AWS Glue クローラー Glue でS3に格納したファイルをもとに推論でスキーマ情報をデータカタログに作成してくれる

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

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

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

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

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

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

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

    AWS Glue Amazon AppFlow
  24. まとめ 1.SaaS APIのエンドポイントを熟知しなくても簡単にデータを抜き出せる 2.AppFlow + Glue クローラー + Athena +

    QuickSight で、 SaaS データを可視化できる 3.データソースが変わっても同じ手法で利用できる α.SaaS への連携もできる!(CSV → Salesforce など)
  25. Thank you!