14
MediaMind Data feed Analytics Infrastructure on AWS Yoshihiko Miyaichi cyber communications inc.

Media mind data feed analytics infrastructure

Embed Size (px)

Citation preview

Page 1: Media mind data feed analytics infrastructure

MediaMind Data feed Analytics Infrastructure on

AWS

Yoshihiko Miyaichi

cyber communications inc.

Page 2: Media mind data feed analytics infrastructure

はじめに

• Profile

– Yoshihiko Miyaichi

– General Manager, Platform Strategycyber communications inc.

– Facebook, Twitter, LinkedIn: miyaichi

• Session Agenda想定オーディエンス: 代理店の方や、3PASを实施している方

内容:MediaMindをはじめとする3PAS(第三者配信)は、複数の媒体出稿効果を理解するのに有効な手段である。しかしながら、深い分析をするには、大量のフィードデータ処理が必要で、ハードルが高い。しかし、AWSとTRESURE DATAのサービスを組み合わせて分析環境を構築すれば、大量のデータを安価に高速に簡単に扱えるようになる。

Page 3: Media mind data feed analytics infrastructure

MediaMind data feed

• 3PAS(第三者配信)サービスを提供するMediaMindは、配信レポートUIを提供するだけではなく、ログデータ(Cookie Level Log Data)のフィードサービスを提供している。費用は配信費(CPM)の10%。

• データは4種類 1)スタンダードイベント・ローデータ、2)リッチイベント・ローデータ、3)コンバージョン・ローデータ、4)マッチフアイル・階層データ

• これらのログデータがあれば、プレイスメント毎のフリケンシー集計や、他の成果データと紐付けた深い分析などが可能となる。

Page 4: Media mind data feed analytics infrastructure

分析の現場は

• ファインディングスには試行錯誤が必要。

• データを使った試行錯誤には、PowerPivotが欠かせないが、扱えるデータサイズは4GB、5,000万レコード程度。

• コンバージョンイベントなら良いが、インプレッションも対象とすると、扱うデータは5,000倍(CTR 0.2%)。

• 目的に合わせたETL(Extract/Transform/Load)が不可欠。

• 外注可能だがコストがかかるので、案件サイズに制限。

やりたくてもなかなかできない。

Page 5: Media mind data feed analytics infrastructure

Pentahoの活用

• Pentaho Community Editionは無料。

• PCに簡単にインストールできる。

• GUIでETL処理を定義・实行。

• 40万レコード/日(zipで40M弱)なら、1ヶ月のデータ処理が2時間程度。

• 成果データなど、他の紐付けも容易。

とはいえ、データが増えたらどうする。

Page 6: Media mind data feed analytics infrastructure

で、何が足りないのか

• 大量のデータを取り回すインフラ

– 取得・蓄積 Fetch, Archive

– 加工 ETL(Extract/Transform/Load)

– 処理 Query

Page 7: Media mind data feed analytics infrastructure

Fetch, Archive

要件

• MediaMindのftp serverからログデータを取得。

• 適宜、S3/Gracerにアーカイブ。

EC2 + EBS + S3 (Glacier)が最適

• EC2(とりあえずマイクロ)、EBS(とりあえず1TB)、S3(とりあえず1TB)、Glacier。

• 月間費用は230USD程度。

• ftp serverの監視、ダウンロード、アーカイブは、shell scriptで。

月額230USD + スクリプト

Bucket

EC2

ftp

Glacier Archive

EBS

Page 8: Media mind data feed analytics infrastructure

EMR

Bucket EMR

EC2

ftp

EBS

要件

• S3にアーカイブしたデータをEMRで処理。

• S3上にHiveが認識できる形でファイルを配置し、パーティションを構成する。

EMRで、Hiveを起動

• EMR(とりあえずエクストララージ15GBMem, 8ECU)を4台。

• 時間費用は0.48USD。

• クライアントPCからEMRにsshで接続し、HQLを实行。

• EventDateなどの日付をJSTに変換しておくといいのだが、パーティション作成までを考えると、色々面倒。

月額230USD + スクリプト+時間あたり 0.48USD

Page 9: Media mind data feed analytics infrastructure

EMR(Hive)の起動とアクセス

$ elastic-mapreduce --create –alive --hive-interactive --name "Hive Session” ¥

--instance-type m1.xlarge --num-instances 4

Created job flow j-2TOYJYK51DYJY

$ elastic-mapreduce --ssh j-2TOYJYK51DYJY

ssh -o ServerAliveInterval=10 -o StrictHostKeyChecking=no [email protected]

Warning: Permanently added 'ec2-54-238-97-187.ap-northeast-1.compute.amazonaws.com,10.121.9.96' (RSA) to the list of known

hosts.

Linux (none) 2.6.35.11-83.9.amzn1.x86_64 #1 SMP Sat Feb 19 23:42:04 UTC 2011 x86_64

--------------------------------------------------------------------------------

Welcome to Amazon Elastic MapReduce running Hadoop and Debian/Squeeze.

Hadoop is installed in /home/hadoop. Log files are in /mnt/var/log/hadoop. Check

/mnt/var/log/hadoop/steps for diagnosing step failures.

The Hadoop UI can be accessed via the following commands:

JobTracker lynx http://localhost:9100/

NameNode lynx http://localhost:9101/

--------------------------------------------------------------------------------

hadoop@ip-10-121-9-96:~$ hive

Logging initialized using configuration in file:/home/hadoop/.versions/hive-0.8.1/conf/hive-log4j.properties

Hive history file=/mnt/var/lib/hive_081/tmp/history/hive_job_log_hadoop_201309162032_1159926161.txt

hive>

Page 10: Media mind data feed analytics infrastructure

TRESURE DATA

BucketEBS

EC2

Bulk Import

ftp

要件

• ダウンロードしたファイルをBulk ImportでTRESURE DATAに転送。

• CUI(TDコマンド)でHQLでデータ処理。

TRESURE DATA

• ビジネスアカウントは、容量が2TB、処理コア数は、8コア保証、他が空いていれば、32コアまでスケール。

• Bulk Importの際に、EventDateなどの日付をJSTに変換しておくとその後の処理がすべてJSTでできる。

• TRESURE DATAのビジネスアカウントは、月額3,000USD。

• クライアントPCにPentahoをインストールし、JDBCでTRESURE DATAと接続。

月額3,230USD + スクリプト

Glacier Archive

Page 11: Media mind data feed analytics infrastructure

TRESURE DATAへのアクセス

$ td database:list

+-----------+------------+

| Name | Count |

+-----------+------------+

| mmdb | 1287225160 |

+-----------+------------+

1 rows in set

$ td table:listmmdb

+-----------+---------------------------------------+------+---------------+-----------+-------------+--------------------+------------+

| Database | Table | Type | Count | Size | Last import |Last log timestamp| Schema |

+-----------+---------------------------------------+------+---------------+-----------+-------------+--------------------+------------+

| mmdb | mm_cld_conversion_advertiser | log | 405,767 | 0.01 GB | | | |

| mmdb | mm_cld_standard_advertiser | log | 417,714,825 | 31.5 GB | | | |

+-----------+-----------------------------------------+-----+--------------+-----------+-------------+--------------------+------------+

2 rows in set

$ td query -dsmoj_vaio \

"SELECT t1.v[ 'UserID' ] AS userid

,t1.v[ 'PlacementID' ] AS placementid

,t1.v[ 'EventTypeID' ] AS eventtypeid

FROM

mm_cld_standard_advertiser t1 LEFT SEMI JOIN mm_cld_conversion_advertiser t2

ON t1.v[ 'UserID' ] = t2.v[ 'UserID' ]"

Job 4777827 is queued.

Use 'td job:show 4777827' to show the status.

4億レコードx 40万レコードの join で 40分弱

Page 12: Media mind data feed analytics infrastructure

Pentahoを使ったETL設計

Page 13: Media mind data feed analytics infrastructure

まとめ

• 3PAS(第三者配信)サービスを提供するMediaMindは、配信レポートUIを提供するだけではなく、ログデータ(Cookie Level Log Data)のフィードサービスを提供している。費用は配信費(CPM)の10%。

• ログデータは、ファインディングスにとっての宝の宝庫だが、インプレッションデータは、コンバージョンデータの5,000倍(CTR 0.2%)のサイズがあり、扱いにくい。

• AWSのインフラを使えば、ログデータを収集、分析するインフラが簡単に、安価に、構築できる。

• 更に、TRESURE DATAを活用すれば、より簡単に大規模なデータ分析が可能となる。

Page 14: Media mind data feed analytics infrastructure

ご成長ありがとうございました。