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