Adobe Analytics

Adobe Analytics: DWHレポートをAWSのS3バケットに配信する

こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。

今回は、AAのDWHレポートをS3に配信する機会があったのでそのメモです。

実はAdobe AnalyticsのData Warehouseレポートは、S3への直接アップロードが出来ません。
データフィードなら直接S3にアップロード出来るのにDWHレポートは対応してないとは何と中途半端な!

というわけで、仕方なくこういう構成にしました。

・EC2でLinuxインスタンスを作る
・Adobeの公開鍵をauthorized_keysに追加する
・s3fs-fuseを使って、S3バケットをEC2にマウントする
・AdobeDWHレポートをEC2にSFTPでアップロードする → s3fs-fuseによってS3にDWHファイルが出力される

EC2でLinuxインスタンスを作る

SFTP用なので適当なLinuxを選びます。
私はUbuntu派なので、Ubuntu 18.04でt2.microインスタンスを立てました。
Elastic IPで固定IPを割り当てて、セキュリティグループ設定でSSHのTCP22を許可しておきます。

Adobeの公開鍵をauthorized_keysに追加する

AdobeからのSFTP接続は公開鍵を使った認証のみ対応してます。
以前下記のブログにAdobeの公開鍵の入手方法について書きましたので、こちらを参考に公開鍵を入手後、EC2の~/.ssh/authorized_keysに追加してください。

Adobe Analytics: データフィードをGoogle Compute EngineのLinuxインスタンスにSFTP転送する

s3fs-fuseでS3バケットをEC2にマウントする

AWS CLIのs3コマンドをcronで定期的に実行してS3にバッチでコピーする方法もありますが、それだとツマンナイ。
s3fs-fuseでS3をEC2にマウントすれば、SFTPでアップロードするとリアルタイムでS3に書き込まれます。
https://github.com/s3fs-fuse/s3fs-fuse

では、Ubuntuにs3fsをインストールします。
apt-getでインストール出来ます。

$ sudo apt-get install s3fs

S3にアクセスするためのパスワードファイルを作成します。
書式は、 [s3バケット名:アクセスキーID:シークレットアクセスキー] です。
ファイルのパーミッションを600にしておきます。

$ echo "my-s3-bucket:AXXXXXXX:9ZZZZZZZZZZZZZZZZZZ" >  ~/.passwd-s3fs
$ chmod 600  ~/.passwd-s3fs

パスワードファイルが用意出来たらいよいよS3バケットをマウントします。
マウント先のディレクトリを作成して、そこにマウントします。

$ mkdir ~/dwh

今回はデフォルトのLinuxユーザー「ubuntu」を使いますが、別のユーザーを使う場合は事前にidコマンドでuidとgidを調べておいてください。
s3fsコマンドの構文は以下のとおりです。

s3fs [バケット名] [マウント先] -o [オプション]

$ s3fs my-s3-bucket /home/ubuntu/dwh -o allow_other,use_cache=/tmp,uid=1000,gid=1000,passwd_file=/home/ubuntu/.passwd-s3fs

これでマウント完了です。

AdobeDWHレポートをEC2にSFTPでアップロードする

EC2とS3の準備が出来たらAdobe DWHの配信設定を作成します。
アドバンス配信オプションの配信先には下記の情報を入力します。

レポート送信先

FTP
ホスト: sftp://EC2の固定IP   Port: 22
ディレクトリ: dwh
ユーザー: ubuntu
パスワード: なし(空白でOK)

これでAdobeのDWHレポートから配信されるファイルが、AWS S3に配信されるようになります。

今回は、Adobe AnalyticsのDWHレポートをAWS S3バケットにアップロードするための小細工について紹介しました。
弊社ではAdobe AnalayticsやGoogle Analyticsのデータを活用するための分析基盤構築支援などを行っております。

お問い合わせはこちらからどうぞ

ブログへの記事リクエストはこちらまで

Google Analytics 導入方法前のページ

Google Analytics クエリパラメータ除外方法次のページ

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Adobe Analytics

    BigQuery: テーブルに格納されたURL文字列をKey-ValueのSTRUCT型で抽出する

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  2. Adobe Analytics

    ページでの滞在時間とは-Adobe Analyticsの指標説明

    今回はページでの滞在時間について説明いたします。ページでの滞在時間と…

  3. Adobe Analytics

    続・SafariのITP2.x対策として別サーバー使ってクッキーを永続化する

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  4. Adobe Analytics

    Adobe Analytics:Report Builderの小技:リクエストのあるシートを丸ごとコ…

    エクセルでの定期レポートを作る際に、一度データブロックを作っておけば以…

  5. Adobe Analytics

    Looker: Sankey Diagramを使ってサイト内フローを可視化する

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  6. Adobe Analytics

    Ad Hoc Analysisを用いてセグメント作成を効率化する

    こんにちは、インターン生の丸山です。AAによる分析にあたり、セグメン…

カテゴリ
最近の記事
  1. Looker Studioで日付フィルターの開始日・終了日の…
  2. Streamlitでdbt-elementary風ダッシュボ…
  3. Adobe WebSDK FPIDでECIDの復元を検証
  4. dbt Projects on Snowflakeで作成した…
  5. Dataformでtype:’increment…
  1. IT用語集

    ウォームスタンバイ、コールドスタンバイ、ホットスタンバイって何?
  2. ブログ

    ダッシュボードとは
  3. Cortex

    BigQueryとSnowflakeのLLM関数を比較してみた
  4. Google Cloud Platform

    【GCP】Cloud Workflowsでデータパイプラインの構築を試してみた②…
  5. Adobe Analytics

    異常値検出とは-Adobe Analyticsの指標説明
PAGE TOP