hadoop~yahoo! japanの活用について~

46
Hadoop Yahoo! JAPANの活用について~ 2011/01/15 株式会社 統括本部 フー株式会社 R&D統括本部 角田直行、吉田一星

Upload: yahoo

Post on 15-Jun-2015

2.379 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Hadoop~Yahoo! JAPANの活用について~

Hadoopp~Yahoo! JAPANの活用について~

2011/01/15

ヤ 株式会社 統括本部ヤフー株式会社 R&D統括本部

角田直行、吉田一星

Page 2: Hadoop~Yahoo! JAPANの活用について~

自己紹介自 紹介

角田 直行(かくだ なおゆき)角田 直行(かくだ なおゆき)

R&D統括本部 プラットフォーム開発本部検索開発部 開発3R&D統括本部 プラットフォ ム開発本部検索開発部 開発3

–2005年 ヤフー株式会社入社

–ヤフー地図ヤフ 地図

–ヤフー路線

–ヤフー検索

–2010年現在、検索プラットフォームを開発中

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止1

Page 3: Hadoop~Yahoo! JAPANの活用について~

自己紹介自 紹介

吉田一星 (よしだ いっせい)吉田一星 (よしだ いっせい)

R&D統括本部プラ トフォ ム開発本部検索開発部開発3R&D統括本部プラットフォーム開発本部検索開発部開発3

–2008年にYahoo! JAPANに入社

– 検索プラットフォームで、Hadoopに関する開発検索プラットフォ ムで、Hadoopに関する開発

– 画像処理、iPhone向け技術開発にもかかわる

Page 4: Hadoop~Yahoo! JAPANの活用について~

Agendag

Introduction–Introduction

–HadoopとはHadoopとは

–事例紹介

–Hadoopのメリット・デメリット

–まとめ

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止3

Page 5: Hadoop~Yahoo! JAPANの活用について~

Introduction

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止4

Page 6: Hadoop~Yahoo! JAPANの活用について~

有名なネットサービス有名なネットサ

月間 496億7100万PV月間 496億7100万PV

5000万1日 5000万 のつぶやき

商品数 6800万

月間ユーザ数 5億人

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止5

各サービスとも日々成長を続けています

Page 7: Hadoop~Yahoo! JAPANの活用について~

莫大なデータ量との闘い莫大なデ タ量との闘

成長を続けていくにはアクセスログ解析やデ タマイニングなど–成長を続けていくにはアクセスログ解析やデータマイニングなど

が必須

–億単位の行 or テラバイト級のデータを短時間で処理したい

毎日処理しなければならない毎日処理しなければならない

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止6

Page 8: Hadoop~Yahoo! JAPANの活用について~

Yahoo! JAPANが扱うデータが扱うデ タ

ログは1日分だけでもかなりのサイズになる–ログは1日分だけでもかなりのサイズになる

–行数を数えるだけでも数日かかる行数を数えるだけでも数日かかる

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止7

Page 9: Hadoop~Yahoo! JAPANの活用について~

解決策としてのHadoop解決策としての p

大規模な処理 大容量のデ タを扱うには–大規模な処理、大容量のデータを扱うには

1台のサーバでは不可能

–マルチコアによる並行処理アプローチは複雑すぎる

–数十~数千台規模で簡単にスケールする環境が不可欠

この発表ではこの発表では、Yahoo! JAPANがHadoopをどう活用しているか

について事例を交えて解説します

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止8

について事例を交えて解説します

Page 10: Hadoop~Yahoo! JAPANの活用について~

Hadoopとは

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止9

Page 11: Hadoop~Yahoo! JAPANの活用について~

Hadoopとはpとは

大規模分散処理システム–大規模分散処理システム

–Google MapReduce/GFSを論文を元に実装Google MapReduce/GFSを論文を元に実装

–処理時間が数時間以上かかるようなバッチ処理に向いている

→ Webのように、即座に結果が返るような

リアルタイム処理には不向きリアルタイム処理には不向き

–Javaで書かれ オープンソースとして公開Javaで書かれ、オ プンソ スとして公開

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止10

Page 12: Hadoop~Yahoo! JAPANの活用について~

Hadoopとはpとは

D C tti 氏が生みの親–Doug Cutting氏が生みの親

–全文検索ライブラリLuceneなどの全文検索ライブラリ uce eなどの

他有名OSSも開発

–Yahoo! Inc. 在籍時はフルタイムで開発

–現在はClouderaに在籍

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止11

(出典元:Wikipedia)

Page 13: Hadoop~Yahoo! JAPANの活用について~

Hadoopとはpとは

大きくMapReduceとHDFS(分散ファイルシステム)に分かれる(分散ファイルシステム)に分かれる

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止12

Page 14: Hadoop~Yahoo! JAPANの活用について~

Hadoop MapReducep p

長時間かかる巨大な処理を複数台のマシンに分散

・・・

・・・

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止13

Page 15: Hadoop~Yahoo! JAPANの活用について~

Hadoop HDFSp

・巨大なファイルを複数台に分割・複数サーバの各HDDを1つのHDDのように扱える・複数サ バの各HDDを1つのHDDのように扱える

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止14

Page 16: Hadoop~Yahoo! JAPANの活用について~

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;

Page 17: Hadoop~Yahoo! JAPANの活用について~

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

Page 18: Hadoop~Yahoo! JAPANの活用について~

事Hadoopの事例紹介

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止17

Page 19: Hadoop~Yahoo! JAPANの活用について~

Hadoopを活用している会社pを活用して る会社

など・・・増 続 ます

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止18

増え続けています!

Page 20: Hadoop~Yahoo! JAPANの活用について~

事Yahoo! Inc.での事例紹介

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止19

Page 21: Hadoop~Yahoo! JAPANの活用について~

Hadoop at Yahoo! Incp

Hadoopユ ザ テスタ コミッタ の数が最も多い–Hadoopユーザ、テスター、コミッターの数が最も多い

–Haoopのクラスタ、台数が最も多いHaoopのクラスタ、台数が最も多い

– 多数のクラスタがあり、合計25000台以上

– 1クラスタにつき最大4000台

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止20

Page 22: Hadoop~Yahoo! JAPANの活用について~

Yahoo! Inc トップページトッ ジ

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止21

Page 23: Hadoop~Yahoo! JAPANの活用について~

Yahoo! Inc トップページトッ ジ

検索インデックス

広告最適化

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止22

Page 24: Hadoop~Yahoo! JAPANの活用について~

Yahoo! Inc トップページトッ ジ

コンテンツ最適化

検索インデックス

広告最適化スパムフィルター

管 最コンテンツ管理

コンテンツ最適化

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止23

Page 25: Hadoop~Yahoo! JAPANの活用について~

サーチアシストサ チアシ ト

– 入力した検索ワードに関連のありそうな単語を自動で補完

– データベースの構築に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日

Page 26: Hadoop~Yahoo! JAPANの活用について~

事Yahoo! JAPANでの事例

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止25

Page 27: Hadoop~Yahoo! JAPANの活用について~

検索ログプラットフォーム検索 グ ラット ォ

社内の検索サ ビスのログ解析全般–社内の検索サービスのログ解析全般

–Hiveを独自に拡張して使用しているHiveを独自に拡張して使用している

–様々なYahoo! JAPANのサービスにデータを提供

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止26

Page 28: Hadoop~Yahoo! JAPANの活用について~

Yahoo!検索検索

関連検索ワ ド–関連検索ワード

–キーワード入力補助キ ワ ド入力補助

–ショートカットの表示制御

–検索ログプラットフォームのデータが元になっている

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止27

Page 29: Hadoop~Yahoo! JAPANの活用について~

Yahoo!検索ランキング検索ランキング

検索ランキング 急上昇ワ ドランキングなど–検索ランキング、急上昇ワードランキングなど

–都道府県別、性年代別のランキング(Yahoo!ラボ)都道府県別、性年代別のランキング(Yahoo!ラボ)

–検索ログプラットフォームが提供したデータをさらに加工している

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止28

Page 30: Hadoop~Yahoo! JAPANの活用について~

レコメンデーションプラットフォームンデ ション ラット ォ

– レコメンデーションサービスの計算処理に利用– レコメンデ ションサ ビスの計算処理に利用

–Yahoo!オークションなどに導入

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止29

Page 31: Hadoop~Yahoo! JAPANの活用について~

検索プラットフォーム(ABYSS)検索 ラット ォ ( )

社内の検索サービスをホスティングするプラットフォーム– 社内の検索サービスをホスティングするプラットフォーム

– 様々なサービスに導入されている

– 検索データのストレージとして使用

– 検索インデックス生成、検索データの解析処理

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止30

Page 32: Hadoop~Yahoo! JAPANの活用について~

地図検索地図検索

地図検索インデックス生成–地図検索インデックス生成

–クリックログ集計・検索ランキング反映クリック グ集計 検索ランキング反映

–店舗やビルの一意性処理

–開いているお店検索

– クロール

定休日 営業時間抽出– 定休日・営業時間抽出

– 検索インデックス生成検索インデックス生成

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止31

Page 33: Hadoop~Yahoo! JAPANの活用について~

その他の事例その他の事例

モバイル検索–モバイル検索

–広告プラットフォーム広告プラットフォ ム

–地域APIプラットフォーム(YOLP)

–Yahoo! JAPAN研究所

–Etc…

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止32

Page 34: Hadoop~Yahoo! JAPANの活用について~

事例まとめ事例まとめ

デ タ解析 デ タマイニング–データ解析、データマイニング

– ログ解析、レコメンデーション、テキストマイニングなどグ解析、レ メンデ ション、テキストマイ ングなど

–検索関係

– 検索インデックス生成、ランキング計算など

大量のデ タを読み込んで解析をする処理 大量の計算が必→大量のデータを読み込んで解析をする処理、大量の計算が必

要な「バッチ処理」がほとんど要な ッチ処理」がほとんど

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止33

Page 35: Hadoop~Yahoo! JAPANの活用について~

デHadoopのメリット・デメリット

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止34

Page 36: Hadoop~Yahoo! JAPANの活用について~

Hadoopのメリット・デメリットpの リット デ リット

○ MapReduceを使って バッチ処理を簡単に分散できる–○ MapReduceを使って、バッチ処理を簡単に分散できる

–× リアルタイム処理には向かないリアルタイム処理には向かない

–HDFSもMapReduceを使ったバッチ処理に最適化されている

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止35

Page 37: Hadoop~Yahoo! JAPANの活用について~

HDFSの特性の特性

ストレ ジとして使うには特性を理解する必要がある–ストレージとして使うには特性を理解する必要がある

– × RDBMSの代用RDBMSの代用

– × ユーザから多くのアクセスがあるストレージ

– △ 小さいデータを多く格納するストレージ

– ○ アクセスログデータのストレージ

○ 過去の取引履歴デ タのストレ ジ– ○ 過去の取引履歴データのストレージ

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止36

Page 38: Hadoop~Yahoo! JAPANの活用について~

HDFSの特性の特性

– 何GBというような大きなデータを一気に書き込んだり 読み出したりする用途– 何GBというような大きなデ タを 気に書き込んだり、読み出したりする用途

に最適化

– シーケーシャルアクセス。SSDはあまり意味ない

– データの書き換えは想定されていないデ タの書き換えは想定されていない

– ランダム書き込みができない

– ファイルロック(排他制御)がない

– 秒間何十回といった大量の読み書き処理には向かない– 秒間何十回といった大量の読み書き処理には向かない

– ファイルキャッシュがない

– もちろんRDBMSのようにインデックスがない

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止37

Page 39: Hadoop~Yahoo! JAPANの活用について~

リアルタイム処理には?リアルタイ 処理 は

リアルタイム処理の選択肢はたくさんある–リアルタイム処理の選択肢はたくさんある

使い分けが重要!使い分けが重要!

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止38

Page 40: Hadoop~Yahoo! JAPANの活用について~

使い分けの例

– 検索プラットフォーム、ABYSSの例

使 分けの例

検索プラットフォ 、 の例

検索インデックスのバッチ更新数分~数時間かかる

検索インデックスのバッチ更新

Hadoop

検索インデックス

検索インデックスの元データ

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止39

Page 41: Hadoop~Yahoo! JAPANの活用について~

使い分けの例

– ユーザからのアクセス、リアルタイム更新はHadoop以外で

使 分けの例

ザからのアク 、リアルタイ 更新は p以外で

バッチ更新 リアルタイム更新

Hadoop クローラなど

ユーザユ ザ

トランザクション

検索インデックス

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止40

検索インデックス

Page 42: Hadoop~Yahoo! JAPANの活用について~

まとめ

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止41

Page 43: Hadoop~Yahoo! JAPANの活用について~

まとめまとめ

Hadoopは大規模なデータを複数のマシンに分散して–Hadoopは大規模なデータを複数のマシンに分散して

処理できるプラットフォーム

–Hadoopを使う企業は増え続けていて、不可欠な技術に

なり あるなりつつある

–Hadoopは、大規模データを扱う処理や、大量の計算が必要なHadoopは、大規模デ タを扱う処理や、大量の計算が必要な

バッチ処理に向いている

–Yahoo!JAPANはこれからもHadoopを活用していきます

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止42

Page 44: Hadoop~Yahoo! JAPANの活用について~

TechBlogog

htt //t hbl h j /

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止43

http://techblog.yahoo.co.jp/

Page 45: Hadoop~Yahoo! JAPANの活用について~

Hadoop Hack Nightadoop a g

2010年3月 8月に開催

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止44

2010年3月、8月に開催

Page 46: Hadoop~Yahoo! JAPANの活用について~

ご静聴 が ござご静聴ありがとうございました!

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止45