Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hadoop Conference Japan 2009 #1

楽天のHadoop利用事例(前半)
2009年11月13日に行われました、Hadoop Conference Japan 2009の発表資料です。

  • Be the first to comment

Hadoop Conference Japan 2009 #1

  1. 1. 楽天の Hadoop 利用事例 (Hadoop Conference Japan 2009) 楽天株式会社 開発部 河村圭介|2009年11月13日
  2. 2. 自己紹介 <ul><li>河村 圭介 </li></ul><ul><li>楽天開発部 エンジニア </li></ul><ul><li>[email_address] </li></ul><ul><li>@kkawamura </li></ul>
  3. 3. Agenda 1 楽天の紹介 2 楽天のシステムのもつ課題 3 楽天の Hadoop 環境 4 利用事例をいくつか紹介 5 まとめと今後の展開
  4. 4. 1 楽天の紹介 2 楽天のシステムのもつ課題 3 楽天の Hadoop 環境 4 利用事例をいくつか紹介 5 まとめと今後の展開
  5. 5. 楽天市場 <ul><ul><li>店舗数: 約 3 万店 </li></ul></ul><ul><ul><li>商品数: 約 4,000 万点 </li></ul></ul>日本最大級のインターネットショッピングモール ※ 店舗数・商品数: 2009 年 9 月現在 ※ 流通総額: 2008 年 3Q-2009 年 2Q ※ 会員数: 2009 年 2Q
  6. 6. 流通総額に見る成長 流通総額推移 ( 単位:億 ) 178 707 1124 1899 3009 4236 5369 0 1000 2000 3000 4000 5000 6000 00 01 02 03 04 05 06 07 6638 457 08
  7. 7. 楽天市場の規模感 <ul><li>< 2008 年> </li></ul><ul><li>流通総額 </li></ul><ul><li>6638 億円 </li></ul><ul><li>会員数 </li></ul><ul><li>4700 万人突破 </li></ul><ul><li>年間受注件数 </li></ul><ul><li>約 8447 万件 </li></ul>
  8. 8. 楽天グループ ビジネスは拡大中 1997 年   1998 年   1999 年   2000 年    2001 年    2002 年   2003 年     2004 年     2005 年     2006 年      2007 年      2008 年 2009 年  
  9. 9. 3 楽天の Hadoop 環境 4 利用事例をいくつか紹介 5 まとめと今後の課題 1 楽天の紹介 2 楽天のシステムのもつ課題
  10. 10. 急成長の裏側 <ul><li>楽天会員は 1 ヶ月に 20 万 ID 増加 </li></ul><ul><li>購買データ、アクセスログなどの各種ログも増え続ける </li></ul>増え続けるデータの管理、処理
  11. 11. 大規模データの解析処理 <ul><li>ビジネスロジック以外の部分の難易度が高い。 </li></ul><ul><li>グループ内の各種サービスで似たような問題が発生。 個別に実装していては開発効率が悪い。 </li></ul>処理効率 スケーラビリティ 開発生産性 耐障害性
  12. 12. 経緯 <ul><li>  </li></ul><ul><li>2008 年 4 月 楽天技術研究所で関連技術の検証開始 </li></ul><ul><li>2008 年 8 月 社内のエンジニア有志で勉強会開始 </li></ul>データ管理については ROMA が選択肢のひとつ。 データ処理は Hadoop でトライ
  13. 13. 1 楽天の紹介 2 楽天のシステムのもつ課題 4 利用事例をいくつか紹介 5 まとめと今後の課題 3 楽天の Hadoop 環境
  14. 14. 楽天の Hadoop 環境 <ul><li>2008 年 4 月より検証環境を構築、検証開始 </li></ul><ul><li>後半で西岡がご説明 </li></ul>楽天技術研究所 <ul><li>2009 年 3 月からトライアルで運用開始 </li></ul><ul><li>マスタ 1 台、スレーブ 13 台 </li></ul><ul><ul><li>Hadoop 0.19.2 </li></ul></ul><ul><ul><li>Intel( R ) Xeon(TM) CPU 3.06GHz (SingleCore) × 2 / Memory 4GB </li></ul></ul><ul><ul><li>トライアルで始めたため、一線を退いたサーバで構成。 </li></ul></ul><ul><li>複数サービス(アプリケーション)で環境をシェア </li></ul><ul><ul><li>タスクバランスを Fair Scheduler でコントロール </li></ul></ul>楽 天 市 場
  15. 15. 楽天の Hadoop 環境 <ul><li>広告のインプレッションログ解析 </li></ul><ul><li>レコメンデーション </li></ul><ul><li>製品ランキングなどのデータ集計系 </li></ul><ul><li>… 増加中 </li></ul>利 用 用 途 既に複数のサービスで利用開始
  16. 16. 1 楽天の紹介 2 楽天のシステムのもつ課題 3 楽天の Hadoop 環境 5 まとめと今後の課題 4 利用事例をいくつか紹介
  17. 17. 利用事例 1 : 広告 ユニークユーザー 分析
  18. 18. 利用事例1:広告ユニークユーザー分析 <ul><li>Hadoop の利用用途 </li></ul><ul><li>行動ターゲティング広告の </li></ul><ul><li>ユニークユーザー分析に利用している。 </li></ul><ul><li>分析結果は、 </li></ul><ul><li>マーケティングに利用される。 </li></ul>
  19. 19. 利用事例1:広告ユニークユーザー分析 <ul><li>ユニークユーザー分析とは </li></ul><ul><li>いつ、どこで、どんな人が、 </li></ul><ul><li>どの広告に興味を示しているのか </li></ul><ul><li>を統計解析する処理。 </li></ul><ul><li>ユーザーのニーズを汲み取りながら、 </li></ul><ul><li>順次、分析機能をビルドアップさせている。 </li></ul>
  20. 20. 利用事例1:広告ユニークユーザー分析 Hadoop 導入の背景 増え続ける広告配信量 処理速度の向上 リアルタイム性の向上 行動ターゲティング広告の 配信量( = 配信ログ)は、 およそ年 50% ずつ増加している。
  21. 21. 利用事例1:広告ユニークユーザー分析 処理の概要 広告の配信ログをインプットにして、 複数の map/reduce を組み合わせて 統計解析し、 ユーザーの利用目的に応じて、 数種類のアウトプットを出力している。 広告配信エンジン NAS Hadoop クラスタ ユーザー
  22. 22. 利用事例1:広告ユニークユーザー分析 Hadoop 導入の効果 そのスケーラビリティを手に入れた。 導入前に、占有 Batch サーバーで 稼動していた perl スクリプトと、 複数サービスでシェアしているクラスタ上で 稼動している map/reduce を比較すると、 処理速度が約 580% 向上した。 約 26 時間が、およそ 4 時間半程度に短縮された。
  23. 23. 利用事例 2 : レコメンデーション
  24. 24. 楽天のレコメンデーション サービス、表示位置により使い分けています。 楽天ブックス 楽天ダウンロード 楽天市場 楽天レンタル
  25. 25. 利用事例:レコメンデーション 最近のお買い物からのおすすめ
  26. 26. 利用事例2:レコメンデーション <ul><li>購買データ </li></ul><ul><ul><li>2 億件程度 </li></ul></ul><ul><ul><li>10 GB </li></ul></ul>Hadoop 楽天市場 購買データ 商品間の 類似度データ 複数のステップの Map Reduce を行い、商品間の類似度を算出
  27. 27. Map Reduce でレコメンド生成 itemA {(itemA,0.10),(itemB,0.04), …} itemB user1 user2 <ul><li>購買ログ </li></ul><ul><ul><li>2 億件 </li></ul></ul><ul><ul><li>10 G </li></ul></ul>{(itemA,0.01), …} {(itemC,0.10), …} {(itemA,0.02), (itemC,0.01), …} Map Reduce を複数ステップ user1, itemA, itemB user2, itemB user3, itemA, itemB, itemC itemC {(itemA,0.02), …} user3 {(itemD,0.04), (itemE,0.01), …}
  28. 28. 1 楽天の紹介 2 楽天のシステムのもつ課題 3 楽天の Hadoop 環境 4 利用事例をいくつか紹介 5 まとめと今後の課題
  29. 29. まとめ <ul><li>2009 年より運用開始 </li></ul><ul><ul><li>とはいえ、まだ色々試している状態。 </li></ul></ul><ul><ul><li>現在のところ、ログ解析、集計、レコメンデーションに利用 </li></ul></ul><ul><ul><li>慣れれば、開発生産性が非常に高い! </li></ul></ul>楽天の Hadoop <ul><li>グループ内の各種サービスで、積極的に使っていく。 </li></ul><ul><li>クラスタの状態監視など、運用面の整備 </li></ul>今後の課題

×