GREE開発本部 広告統括部
Python java(hadoop) PHPをよく書く
ネット広告の課金方法
ネット広告は期限付きのものが多い
Imp, click, conv(コンバージョン)のログを取る
GREEのトップ以外(インプレッション)
アドワーズ(クリック)
ニコニコ市場(コンバージョン)
広告ログシステムの全体像
ADサーバー→インプレッションログ
AD掲載ページ
Redirectサーバー→click log
リダイレクト
ランディングページ
コンバージョンサーバー→ conv log
fluentd と Hadoopを利用して、ログを集計してサーバーに送り、レポートを作る
Fluentd(リアルタイムのログ収集ツール JSON形式で収集する)
フォーマット化することでパーサーの負担も少ない
似たようなのに、ScribeやFlumeがある。
が、Docsとプラグインが豊富なので採用した
利点
- インストールが簡単
- プラグイン豊富
- 受け手の冗長構成
- ログの時間が区切れる
- ロテートしても一回前までは拾える
欠点
プロセスが落ちると再送されない(アドホックなスクリプトで拾う必要がある)
Hadoop
大規模データを効率的に分散処理、管理するためのソフトウェア基盤
多数の汎用サーバで大規模データを処理できるが、
細かいデータは処理できない
Java MapReduce(実装に時間がかかるがハイパフォーマンス)
Hive SQLっぽくかける
Pig 独自言語
Streaming 好きな言語で書ける、おそい
いまのところMapReduceを使う。
Streamingで好きな言語でも書けるが、
処理の見積りが難しい
NameNodeが単一障害点