Hadoop~Yahoo!Japanの活用について

2,359 views

Published on

2011/01/15開催したJAPAN INNOVATION LEADERS SUMMIT 内で行った、 ヤフー株式会社 R&D統括本部:角田直行氏・吉田一星氏の講演資料"Hadoop~Yahoo!Japanの活用について"

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,359
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Hadoop~Yahoo!Japanの活用について

  1. 1. Hadoop ~ Yahoo! JAPAN の活用について~ 2011/01/15 ヤフー株式会社 R&D 統括本部 角田直行、吉田一星
  2. 2. 自己紹介 <ul><li>角田 直行 ( かくだ なおゆき ) </li></ul><ul><li>R&D 統括本部 プラットフォーム開発本部検索開発部 開発 3 </li></ul><ul><li>2005 年 ヤフー株式会社入社 </li></ul><ul><ul><li>ヤフー地図 </li></ul></ul><ul><ul><li>ヤフー路線 </li></ul></ul><ul><ul><li>ヤフー検索 … </li></ul></ul><ul><li>2010 年現在、検索プラットフォームを開発中 </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  3. 3. 自己紹介 <ul><li>吉田一星 (よしだ いっせい) </li></ul><ul><li>R&D 統括本部プラットフォーム開発本部検索開発部開発3 </li></ul><ul><li>2008 年に Yahoo! JAPAN に入社 </li></ul><ul><li>検索プラットフォームで、 Hadoop に関する開発 </li></ul><ul><li>画像処理、 iPhone 向け技術開発にもかかわる </li></ul>
  4. 4. Agenda <ul><li>Introduction </li></ul><ul><li>Hadoop とは </li></ul><ul><li>事例紹介 </li></ul><ul><li>Hadoop のメリット・デメリット </li></ul><ul><li>まとめ </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  5. 5. Introduction Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  6. 6. 有名なネットサービス Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 月間 496 億 7100 万 PV 1 日 5000 万 のつぶやき 商品数 6800 万 月間ユーザ数 5 億 人 各サービスとも日々成長を続けています
  7. 7. 莫大なデータ量との闘い <ul><li>成長を続けていくにはアクセスログ解析やデータマイニングなどが必須 </li></ul><ul><li>億単位の行 or テラバイト級のデータを短時間で処理したい </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 毎日処理しなければならない
  8. 8. Yahoo! JAPAN が扱うデータ Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 <ul><li>ログは 1 日分だけでもかなりのサイズになる </li></ul><ul><li>行数を数えるだけでも数日かかる </li></ul>
  9. 9. 解決策としての Hadoop <ul><li>大規模な処理、大容量のデータを扱うには 1 台のサーバでは不可能 </li></ul><ul><li>マルチコアによる並行処理アプローチは複雑すぎる </li></ul><ul><li>数十~数千台規模で簡単にスケールする環境が不可欠 </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 この発表では、 Yahoo! JAPAN が Hadoop をどう活用しているか について事例を交えて解説します
  10. 10. Hadoop とは Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  11. 11. Hadoop とは <ul><li>大規模分散処理システム </li></ul><ul><li>Google   MapReduce/GFS を論文を元に実装 </li></ul><ul><li>処理時間が数時間以上かかるようなバッチ処理に向いている -> Web のように、即座に結果が返るような   リアルタイム処理には不向き </li></ul><ul><li>Java で書かれ、オープンソースとして公開 </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  12. 12. Hadoop とは <ul><li>Doug Cutting 氏が生みの親 </li></ul><ul><ul><li>全文検索ライブラリ Lucene などの 他有名 OSS も開発 </li></ul></ul><ul><li>Yahoo! Inc. 在籍時はフルタイムで開発 </li></ul><ul><li>現在は Cloudera に在籍 </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 ( 出典元 :Wikipedia)
  13. 13. Hadoop とは Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 大きく MapReduce と HDFS ( 分散ファイルシステム ) に分かれる
  14. 14. Hadoop MapReduce Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 長時間かかる巨大な処理を複数台のマシンに分散 ・・・ ・・・
  15. 15. Hadoop HDFS Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 ・巨大なファイルを複数台に分割 ・複数サーバの各 HDD を 1 つの HDD のように扱える
  16. 16. Hadoop 関連プロダクト Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 大規模データ処理用スクリプト言語 Pig Hive Facebook が開発 扱いが一般データベースに似ている A = load 'passwd' using PigStorage(':'); B = foreach A generate $0 as id; dump B; CREATE TABLE pokes (foo INT, bar STRING); SELECT a.foo FROM pokes a;
  17. 17. Hadoop 関連プロダクト Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Hadoop 上に構築された列指向データベース Google BigTable のクローン HBase 機械学習ライブラリ Hadoop でスケール可 Mahout 複数の MapReduce ジョブなどを 実行制御するワークフロー Oozie
  18. 18. Hadoop の事例紹介 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  19. 19. Hadoop を活用している会社 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 など・・・ 増え続けています!
  20. 20. Yahoo! Inc. での事例紹介 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  21. 21. Hadoop at Yahoo! Inc <ul><li>Hadoop ユーザ、テスター、コミッターの数が最も多い </li></ul><ul><li>Haoop のクラスタ、台数が最も多い </li></ul><ul><ul><li>多数のクラスタがあり、合計 25000 台以上 </li></ul></ul><ul><ul><li>1 クラスタにつき最大 4000 台 </li></ul></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  22. 22. Yahoo! Inc トップページ Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  23. 23. Yahoo! Inc トップページ Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 広告最適化 検索 インデックス
  24. 24. Yahoo! Inc トップページ Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 広告最適化 コンテンツ 最適化 検索 インデックス スパムフィルター コンテンツ 管理 コンテンツ 最適化
  25. 25. サーチアシスト <ul><li>入力した検索ワードに関連のありそうな単語を自動で補完 </li></ul><ul><li>データベースの構築に Hadoop を使用 </li></ul><ul><li>3 年分のデータと、 20 ステップの MapReduce </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Hadoop 使用前 Hadoop 時間 26 日 20 分 言語 C++ Python 開発期間 2 ~ 3 週間 2 ~ 3 日
  26. 26. Yahoo! JAPAN での事例 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  27. 27. 検索ログプラットフォーム <ul><li>社内の検索サービスのログ解析全般 </li></ul><ul><li>Hive を独自に拡張して使用している </li></ul><ul><li>様々な Yahoo! JAPAN のサービスにデータを提供 </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  28. 28. Yahoo! 検索 <ul><li>関連検索ワード </li></ul><ul><li>キーワード入力補助 </li></ul><ul><li>ショートカットの表示制御 </li></ul><ul><li>検索ログプラットフォームのデータが元になっている </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  29. 29. Yahoo! 検索ランキング <ul><li>検索ランキング、急上昇ワードランキングなど </li></ul><ul><li>都道府県別、性年代別のランキング( Yahoo! ラボ) </li></ul><ul><li>検索ログプラットフォームが提供したデータをさらに加工している </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  30. 30. レコメンデーションプラットフォーム <ul><li>レコメンデーションサービスの計算処理に利用 </li></ul><ul><li>Yahoo! オークションなどに導入 </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  31. 31. 検索プラットフォーム( ABYSS ) <ul><li>社内の検索サービスをホスティングするプラットフォーム </li></ul><ul><li>様々なサービスに導入されている </li></ul><ul><li>検索データのストレージとして使用 </li></ul><ul><li>検索インデックス生成、検索データの解析処理 </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  32. 32. 地図検索 <ul><li>地図検索インデックス生成 </li></ul><ul><li>クリックログ集計・検索ランキング反映 </li></ul><ul><li>店舗やビルの一意性処理 </li></ul><ul><li>開いているお店検索 </li></ul><ul><ul><li>クロール </li></ul></ul><ul><ul><li>定休日・営業時間抽出 </li></ul></ul><ul><ul><li>検索インデックス生成 </li></ul></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  33. 33. その他の事例 <ul><li>モバイル検索 </li></ul><ul><li>広告プラットフォーム </li></ul><ul><li>地域 API プラットフォーム( YOLP ) </li></ul><ul><li>Yahoo! JAPAN 研究所 </li></ul><ul><li>Etc… </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  34. 34. 事例まとめ <ul><li>データ解析、データマイニング </li></ul><ul><ul><li>ログ解析、レコメンデーション、テキストマイニングなど </li></ul></ul><ul><li>検索関係 </li></ul><ul><ul><li>検索インデックス生成、ランキング計算など </li></ul></ul><ul><li>-> 大量のデータを読み込んで解析をする処理、  大量の計算が必要な「バッチ処理」がほとんど </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  35. 35. Hadoop のメリット・デメリット Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  36. 36. Hadoop のメリット・デメリット <ul><li>○ MapReduce を使って、バッチ処理を簡単に分散できる </li></ul><ul><li>× リアルタイム処理には向かない </li></ul><ul><li>HDFS も MapReduce を使ったバッチ処理に最適化されている </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  37. 37. HDFS の特性 <ul><li>ストレージとして使うには特性を理解する必要がある </li></ul><ul><ul><li>× RDBMS の代用 </li></ul></ul><ul><ul><li>× ユーザから多くのアクセスがあるストレージ </li></ul></ul><ul><ul><li>△ 小さいデータを多く格納するストレージ </li></ul></ul><ul><ul><li>○ アクセスログデータのストレージ </li></ul></ul><ul><ul><li>○ 過去の取引履歴データのストレージ </li></ul></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  38. 38. HDFS の特性 <ul><li>何 GB というような大きなデータを一気に書き込んだり、読み出したりする用途に最適化 </li></ul><ul><ul><li>シーケーシャルアクセス。 SSD はあまり意味ない </li></ul></ul><ul><li>データの書き換えは想定されていない </li></ul><ul><ul><li>ランダム書き込みができない </li></ul></ul><ul><ul><li>ファイルロック(排他制御)がない </li></ul></ul><ul><li>秒間何十回といった大量の読み書き処理には向かない </li></ul><ul><ul><li>ファイルキャッシュがない </li></ul></ul><ul><ul><li>もちろん RDBMS のようにインデックスがない </li></ul></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  39. 39. リアルタイム処理には? <ul><li>リアルタイム処理の選択肢はたくさんある </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 使い分けが重要!
  40. 40. <ul><li>検索プラットフォーム、 ABYSS の例 </li></ul>使い分けの例 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Hadoop 検索インデックス 検索インデックスの元データ 数分~数時間かかる 検索インデックスのバッチ更新
  41. 41. <ul><li>ユーザからのアクセス、リアルタイム更新は Hadoop 以外で </li></ul>使い分けの例 Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Hadoop 検索インデックス バッチ更新 クローラなど リアルタイム更新 ユーザ トランザクション
  42. 42. まとめ Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  43. 43. まとめ <ul><li>Hadoop は大規模なデータを複数のマシンに分散して 処理できるプラットフォーム </li></ul><ul><li>Hadoop を使う企業は増え続けていて、不可欠な技術に なりつつある </li></ul><ul><li>Hadoop は、大規模データを扱う処理や、 大量の計算が必要なバッチ処理に向いている </li></ul><ul><li>Yahoo!JAPAN はこれからも Hadoop を活用していきます </li></ul>Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  44. 44. TechBlog Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 http://techblog.yahoo.co.jp/
  45. 45. Hadoop Hack Night Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2010 年 3 月、 8 月に開催
  46. 46. ご静聴ありがとうございました! Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

×