49
株株株株株株株株株株株株株株株株 IT 株株株株株株株株 株株株株株株株株株株 株株 株株 リリリリリリ Hadoop リリリリ 2 nd Edition

Hadoopカンファレンス2013

Embed Size (px)

Citation preview

Page 1: Hadoopカンファレンス2013

株式会社リクルートテクノロジーズIT ソリューション部 ビッグデータグループ

 石川 信行

リクルート式 Hadoop の使い方 2ndEdition

Page 2: Hadoopカンファレンス2013

分社化について

2

(株)リクルート   ホールディングス

(株)リクルートキャリア

(株)リクルートジョブズ

(株)リクルートスタッフィング

(株)リクルート住まいカンパニー

(株)リクルートライフスタイル

(株)リクルートマーケティングパートナーズ

(株)スタッフサービス・ホールディングス

(株)リクルートアドミニストレーション

(株)リクルートテクノロジーズ

(株)リクルートコミュニケーションズ

主な事業会社

機能会社

Page 3: Hadoopカンファレンス2013

~リクルートについて

旅行

お稽古

時事

ファッション

飲食

ライフスタイル領域ライフイベント領域

進学就職

結婚

転職

住宅購入車購入

出産 / 育児

「選択・意思決定・行動」を支援する情報サービスの提供

リクルートグループのご紹介

Page 4: Hadoopカンファレンス2013

カスタマーとクライアントを新しい接点で結び、「まだ、ここにない、出会い」の場を創造する。

カスタマー(ユーザー) クライアント

リクルートグループのご紹介

Page 5: Hadoopカンファレンス2013

自己紹介□ 名前石川 信行(     ground_beetle )

□ 出身福島県 いわき市大学時代は、害虫制御学、生物統計学、進化生態学専攻

□ 経歴・ 2009 年リクルート新卒入社・営業支援システムのコーダー( java )、 DBA として参加。・ 2010 年~ Hadoop 推進担当・現 Hadoop 案件推進・新用途開発チームリーダー

□ 趣味・外国産カブト虫飼育・スキューバダイビング・海水魚・サンゴ飼育

Page 6: Hadoopカンファレンス2013

2011 年 Hadoop カンファレンスにて

6

Hadoop 導入のストーリーと課題感、初期の事例紹介、エコシステムの利用状況などを中心にお話しましたが、

この時点と比べてどのようにデータ活用が進んできたか。そんな話をできたらと思っています。

Page 7: Hadoopカンファレンス2013

アジェンダ

1• 体制と環境の進化

2• 利活用事例紹介

3• 新しい技術・用途開発

4• 誰もが利用できる Hadoop へ

5• まとめ

Page 8: Hadoopカンファレンス2013

体制と環境の進化

Page 9: Hadoopカンファレンス2013

ビッグデータに対峙する2種類のアナリスト

【役割】事業の抱える課題解決に向けた仮説を立て、大量データをマイニングし具体的な解決案を提案する。現場に近いところで超具体的な方針を示す

【スキル・知識】分析力、論理的思考力、仮説力、統計 / マーケティング知識、 SQL 、 Rなど

【役割】データマイニングや機械学習を行った結果をもとに、ユーザーの行動特性など一定の規則性を見出し、提供サービスの品質向上に努める

【スキル・知識】Hadoop 、 MapReduce 、 Mahout 、 Java 、 R 、統計解析、時系列解析、データマイニング、機械学習、自然言語処理など

出展: http://engineer.typemag.jp/knowhow/2012/02/-13-2.php

アナリスト定義

Page 10: Hadoopカンファレンス2013

ビッグデータ G 創設

10

(「コンサル型」+「エンジニア型」) × マーケター協力できる体制が整備されました。

コンサル型 エンジニア型

協働

事業担当者≒マーケタービッグデータグループ

Hadoop エンジニア分析者

Page 11: Hadoopカンファレンス2013

そんな中で僕の業務は

11

事業担当者≒マーケター

事業担当者≒マーケター

分析者 エンジニア 構築・運用

技術提案案件提案集計・分析

要件定義集計・分析依頼事業戦略共有

事業の担当者と直接要件のやりとりをし、実装や分析を通じて共に価値を見出していく最前線の部隊。

Page 12: Hadoopカンファレンス2013

これまで数多くの失敗と成功を経験してきた

とある調査会社の資料には 8 割の会社が情報活用を失敗すると記載がある。

リクルートでも正直失敗は繰り返されていた。・分析しっぱなし。・予算がとれない。・データを信用しない。

しかし、リクルートにはボトムアップの文化があった。事業担当者もエンジニアも分析者も現場レイヤーの人間がそれはもう泥臭く要件だし、実装、効果把握、報告を繰り

返したことでここまでやってこれたし、社内での認知度もあがってきたといえる。

Page 13: Hadoopカンファレンス2013

ビックデータの認識

13

サンプリングではなく全量データを対象に可視化と予測が可能に。会員×原稿全パターンの最適化・パーソナライズなど。

Volume  –大量データを格納・処理–

非構造データ(ログやテキスト)を扱うことができ、人でなければ不可能だった処理を機械で実行可能に。テキスト分類、画像解析など。

Variety  –多様な種類のデータを格納・処理–

 リアルタイム処理で web のインタラクティブ性を向上。個々のユーザの利用に応じて進化するレコメンドや、アクティブユーザの物件閲覧数をサイトに表出させる。

Velocity  –データを速く処理–

Page 14: Hadoopカンファレンス2013

リサーチ段階

3 ~ 4台

2008 ~ 9

実験機

Web サイトのバッチ処理移植など、処理性能の評価・研究

実験・検証

20台

ラボ環境

2010

システム移行などで余ったハードウェアを再利用

第 1世代環境

120台

プライベートクラウド

2011

商用利用が可能な設計(セキュリティなど非機能面)を施した環境

第 2世代環境

40台 (今後拡大)

プライベートクラウド環境との融合を進めた環境

プライベートクラウド

2012

イマココ

部分的な環境融合

完全なる環境融合

システム構成概要①

Page 15: Hadoopカンファレンス2013

MapR / GreenplumMR

Node5 Node6 Node7 Node8

TaskTrackerFileServer

TaskTrackerFileServer

TaskTrackerFileServer

TaskTrackerFileServer

Warden

Node1 Node2

CLDB

JobTracker

Node3 Node4

TaskTrackerFileServer

TaskTrackerFileServer

TaskTrackerFileServer

TaskTrackerFileServer

CLDB CLDB CLDB

CLDBCLDBCLDBCLDB

JobTracker JobTracker JobTracker

JobTrackerJobTrackerJobTrackerJobTracker

Apache Hadoop / CDH

SlaveNode1 SlaveNode2 SlaveNode3 SlaveNode4

Heartbeat + DRBD

MasterNode1 MasterNode2 MasterNode3 MasterNode4

JobTracker

NameNode

SecondaryNameNode

SecondaryNameNode

NameNode

JobTracker

TaskTracker

DataNode

TaskTracker

DataNode

TaskTracker

DataNode

TaskTracker

DataNode

Master4台+ Slave15台+batch1台の 20台構成をベースに利用リソースに応じて Slave を増設

3 Node から、利用リソースに応じて増設

第2世代第1世代

システム構成概要②

Page 16: Hadoopカンファレンス2013

「エコシステム」をフル活用中。

SQLライクな操作言語として、H iveマイニングのライブラリとして、 mahoutデータ連携ツールとして、 sqoopそして、 Hbase も現在実装中。

RDB

PV ログPV ログ問い合わせログ問い合わせログ 

 

レコメンドデータ

レコメンドデータ

Quest® Data Connector

エコシステムを活用

Page 17: Hadoopカンファレンス2013

利活用事例紹介

Page 18: Hadoopカンファレンス2013

18

事業A

事業B

事業C

事業D

事業E

事業F

事業G

事業H

事業I

事業J

事業K

事業L

事業M

サイト間クロス UU調査

サイト横断モニタリング

指標

施策シェア分析

レコメンド

予約分析

BIメルマガ施策

リスティング分析

KWD×LP 分析

クチコミ分析

ステータス分析

LPO

メール通数分析

自然語解析

現行応募相関

行動ターゲティング

KPIモニタリング

レコメンド ログ分析

自然語解析 メール コメンレド 需要予測 クレンジング

需要予測

クライアント HP 分析

領域間クロスUU

カスタマープロファイル

集客モニタリング

商材分析

レコメンド

カスタマートラッキング共通バナー

KPIモニタリング

アクション数予測 効果集計

価格分析 コメンドレ クラスタリング クチコミ分析

レコメンド

レコメンド

効果見立て分析

13事業に対し、

半期で 120 件超の

データ利活用を展開中

Page 19: Hadoopカンファレンス2013

2012 年度進めてきた案件パターン

19

Hadoop に関してはほぼ全事業に提供完了。下図のように利用が概略化される。

・ RDB のデータ・行動履歴(サイトカタリスト、独自ログ)・テキスト・外部データ

・セグメント切りの軸を複数に。・対象期間を増やすetc

・会員×原稿のスコア付・行動履歴から相関算出

・分析用の変数作成

大量集計

スコア計算・アルゴリズム

分析前集計

モニタリング営業用資料戦略資料機能開発判断材料

メール・ WEBレコメンド

ロジック作成シナリオ作成etc

Page 20: Hadoopカンファレンス2013

パーソナライズド企業一覧

20

個人の行動履歴をもとに会員にお勧め企業一覧を 100 件レコメンド。

結果 12/18~24 までの 7日間で 18000 ものエントリーがあり、そのうち一括エントリーが 149回( 13410 件)という結果が得られた。

説明と効果

Page 21: Hadoopカンファレンス2013

DB

転職仲間機能応募総数最大化に向けて、転職仲間機能を昨年の 4/23 に C/O 。

近い属性のユーザーを対象ユーザーにレコメンドし、ブックマークする機能を提供。週に約 70応募増の効果。

ためぞうためぞう

 

 

アクティブユーザー選出、ノンアクティブユーザー選出 @日

ユーザー属性ごとにレコメンド対象ユーザーを算出

Page 22: Hadoopカンファレンス2013

リクともLiteメール版

22

1週間での効果

転職仲間のロジックをリクナビに移行しメールで配信。リクナビ 13 で、卒業間近の 2012年 11月に送ったにも関わらず通常メールに比べ CVR で約 2倍の効果。リクナビ 14 での配信と画面化も予定。

Page 23: Hadoopカンファレンス2013

オファー施策の改善のための戦略的分析

23

レコメンドような目に見える施策だけではなく、事業の今後の施策実行のための戦略的分析も行っている。例えばオファー施策改善のための分析などがある。

・オファーはどのようなステータスのカスタマーに送信されているのか?

・ オファーを受信するタイミングにより、どの程度返信率が変化するのか?

転職エージェントクライアント

RNN登録会員数370万人

スカウト登録者数約 180万人

①オファーの送信

②応募・返信

課題

Page 24: Hadoopカンファレンス2013

オファー施策の改善のための戦略的分析

24

RDBMS 1月 1日のDB

1月 2日のDB

1月 3日のDB

・最新のステータス(会員離脱状況や原稿掲載状況など)の保存

・行動履歴の部分取得

・離脱のタイミングやレジュメの変更比較が可能に。

・種々の行動履歴を長期間保存可能に。

例えば分析の中で使われる 1 つのクエリはメッセージ送信テーブル( 3500万件)と行動履歴テーブル( 7億件)を 外部結合して120億件の中間テーブルを作成する処理

通常の汎用 RDBMS では、 37 時間程度かかる見込みの処理が 30 分で帰ってくる。

 

 

 

価値あるOutput

Page 25: Hadoopカンファレンス2013

共通チーム

事業での Hadoop 案件推進体制

ビッグデータ G担当

Hadoop事務局

媒体 3企画者

媒体 4企画者

媒体 2企画者

事業IT 担当

■エントリ~実施判断まで

媒体 1企画者

案件

案件

案件

案件

GM

媒体 5企画者

案件

案件エントリ過去事例などから工数と効果予測

実施案件判断

案件を一か所に集約することで、分析の知見を集約する!

Page 26: Hadoopカンファレンス2013

事業での案件検討スキーム

情報共有活性化 エントリ 優先度判断 要件定義

開発モニタリン

勉強会を定期的に開催

( Q毎ぐらい)

月次でエントリ締め切り

フレームワークを元に、開発評議会にて判断す

企画・開発を近づけ、ビッグ

データ G と各開発 G が直接開発

を進める

開発評議会にてモニタリングを

行う

活性化 活性化 投資効率 UP 開発効率 UP 投資効率 UP

「検討」「開発」「振り返り」のプロセスを 標準化・効率化を目指し、開発フローを作成する。

Page 27: Hadoopカンファレンス2013

27

現在取り組み中の案件も数多く、それも段々と難しく、事業インパクトも強い案件が多くなっている傾向があります。

シナリオマーケティング

マッチング最適化

テキスト解析

Page 28: Hadoopカンファレンス2013

新しい技術・用途開発

Page 29: Hadoopカンファレンス2013

R-Stage Dev-Stage β-Stage 運用 -Stage

・技術要素調査・技術の実態を 把握する

・効果的な仕組みとしてプレ実装・活用方法をさらに開拓

・正式にフィジビリティスタディとして推進~展開をする

・実運用へ

Gate Review Gate Review Gate Review

ビッグデータ( Hadoop )

新技術のR&D取り組みステップ

非構造データ分析手法開発リアルタイム

Page 30: Hadoopカンファレンス2013

Chemical Reaction

30

Page 31: Hadoopカンファレンス2013

会員レジュメ クライアント原稿

会員レジュメはらしさと仕事のクラスタ原稿側もクラスタリング

らしさクラスター

仕事クラスター

メイン

サブ 1

サブ 2

サブ 3

原稿クラスター

マッチングアルゴリズム

はたらいくテキストマッチング

Page 32: Hadoopカンファレンス2013

• 以下のような技術要素について、トライ & エラー・・・!

①データの定義※クラスタリングが適切になされるようにするために検討が必要

・ 150文字以下のレジュメは除外・レジュメフォーマット使用疑い者を除外・原稿側で、複数回掲載原稿でコピペしたような原稿について修正・原稿タイトル部分のウエイトを重くする・単語の重要度を定義し、使用用語を選定

②クラスタリング手法・階層クラスタリング (KH-Coder による )・ K-Means(Mahout による )・ Fuzzy K-Means(Mahout による )・ LatentDiricletAllocation(Mahout による )

③クラスタ間の関係の表現手法

・アソシエーション・ロジスティック回帰 (SPSS-Modeler による )・ SGD手法 (Mahout による )・ RandomForest(Mahout による )・ Tree-Net(SLFD による )

④評価指標 ・各種論文やモデリング指標を参考

Try の数だけ成果があがる

Page 33: Hadoopカンファレンス2013

11形態素解析

12PV データ抽出

21重要後抽出

22辞書変換

23ユーザスコア割当

マッチングアルゴリズム作成フェーズの演算をHadoop に移植

レジュメ情報

原稿情報

応募履歴

閲覧履歴

24クラスタリング

23マッチング学習

推薦結果

分析ロジックを Hadoop で実装する。

Page 34: Hadoopカンファレンス2013

Hbase の利用

34

現在 Hbase を利用した機能 C/O に向けて、開発を行っている最中。

HBase (列指向データベース )

HDFS ( 分散ファイルシステム )

HBase Client

HBase & Hadoop Cluster

まずは行動履歴の保存先として例:ユーザのアクセスログ用テーブル

HBaseRow Column

User IP

URL

Cookie

Row Column Value

1 IP x

1 IP x

1 URL /aaa

1 URL /bbb

2 IP y

2 Cookie yyy

2 URL /aaa

Key を指定して Value を検索

Key でソート済

リアルタイムにデータアクセス

画面への状態表示。例えばこのエリアを見た人が何人とか、ログインした人が何人とか。それとリアルタイムレコメンド

Page 35: Hadoopカンファレンス2013

リアルタイムレコメンド

35

分析チームで作成したアルゴリズムを Hadoop ならびに Hbase に移植。リアルタイムで差配が効くレコメンドアルゴリズムが実装される。

レコメンド出現数

推薦アイテムPV数

多←PV数→少

IMAレコメンド出現数PV数

IMA アルゴリズム

flushバルクロード

行動履歴スコア表

スコア表作成

スコア表更新

WEB サーバー

Page 36: Hadoopカンファレンス2013

コールドスタート問題を軽減

36

初来訪のユーザーに対してレコメンド物件がない(コールドスタート)という問題に対し、外部データ( IP アドレスとエリアの紐付データ)を使うことで問題を軽減する。

初来訪時

IP アドレスと紐付エリアから市区町村レベルまで絞ってレコメンド

一個でも閲覧したユーザー

閲覧

リアルタイムレコメンド開始

エリアのおすすめ原稿

Page 37: Hadoopカンファレンス2013

リアルタイムレコメンド概要 バッチ

37

会員 ID 原稿 ID スコア

AAAAA 000001 1.0

AAAAA 000002 0.8

AAAAA 000003 0.6

AAAAA 000004 0.55

AAAAA 000005 0.52

AAAAA 000006 0.5

AAAAA 000007 0.4

AAAAA 000008 0.2

AAAAA 000009 0.1

会員×原稿の推薦リスト、原稿 -原稿の関連性を作成する。 (OffLine の処理 )

SC データ 原稿データ

原稿 ID 原稿 ID スコア

000001 000002 0.2

000001 000003 0.52

000001 000004 0.55

000001 000005 0.8

000001 000006 0.5

000001 000007 0.5

000001 000008 0.8

000001 000009 0.2

000002 000003 0.52

原稿の閲覧関連性スコア会員×原稿の推薦リスト

Page 38: Hadoopカンファレンス2013

リアルタイムレコメンド概要 オンライン

38

閲覧した原稿に紐づく、原稿 -原稿の相関スコアを、他の原稿のスコアに合算。(Online の処理 )

とあるロジックでスコアを合算

この原稿を閲覧

Page 39: Hadoopカンファレンス2013

Hbase をリクルートらしく!

39

リクルート内部には非構造系データがまだまだたくさん眠っているこれをもっと有効活用していきたい。例えば、使いどころが難しいとされている Hbase0.92 より追加されたコプロセッサ機能。これに種々のアルゴリズムを実装し事業へ提供するようなことも考えている。

コプロセッサ

分類

類似検索

スコア計算

Page 40: Hadoopカンファレンス2013

誰もが利用できる Hadoop へ

Page 41: Hadoopカンファレンス2013

ユーザービリティ強化

41

Hadoop へ自由にアクセスできるように Webhive を利用。事業の声を受けて改良中。ある事業ではすでに 60本ものクエリ登録がなされ頻繁に利用されている。

Page 42: Hadoopカンファレンス2013

機能追加をしていく!

42

Hive のテーブル定義情報表示のように新機能を追加予定。

マスタデータのインサート機能、コメント表示やデリミタの切り替えなどの機能を追加。

Page 43: Hadoopカンファレンス2013

知見の集約・展開

43

WebHive の画面に Tips集を追加している。Hive の高速化知見、関数の使い方などを蓄積し随時追加していき事業に公開している。(ただし、オープンソース版には追加していない。)

Page 44: Hadoopカンファレンス2013

事業と並走する

44

また、 Hbase の利用により、 Tips集にメッセージ機能を追加予定。 Q&A にもベストエフォートで対応する。また、ビッグデータグループのもつデモサイトの役割も果たし新機能をどんどん追加予定。

Page 45: Hadoopカンファレンス2013

SQL 対応分散クエリエンジンも導入予定

45

このように事業担当者がクエリを流すことに馴れてきている今、次はさらなる速さを求める動きもあり、 SQL 対応分散クエリエンジンの導入も視野にいれている。使い手が Hadoop に対する知識を持ち、 Hive でのクエリ処理に馴れてきたこのタイミングが重要。

Page 46: Hadoopカンファレンス2013

まとめ

Page 47: Hadoopカンファレンス2013

リクルート的ビッグデータ解析フロー。

リクルートにおけるビッグデータ解析は TryandError 方式。素早く環境を構築し、データを移行。実際のデータを用いて初回OUTPUT を行い、結果を見ながら要件を詰めて施策へ結び付けていく。

外部データ

ログ

本番 DB Hadoop検証環境

 

 

Hadoop エンジニア主導で素早くデータを蓄積

ある程度事業担当のやりたいことを汲み取り、迅速に初回

OUTPUT を作成

技術

分析

事業知見

 

 

実際のデータを見ながら、次の要件を検討

Output

効果を測定し、エンハンスや次期新施策を検討す

る。効果測定

正のビッグデータ

マネジメントループ

Page 48: Hadoopカンファレンス2013

データ分析に関して必要なものとは。

48

事業担当者と最前線でやってきた立場から言えば、データ分析に必要なものは分析力、技術力はもちろんのこと事業の知見、安易に「できない」と判断しない思考、結果できた施策によってどんな世界が実現できるかを想像する力などヒューマンスキルも重要な気がしている。そしてこれらは実業での Try&Error で成長するものだと確信している。

※社員を育成する場合は、分析スキルを 中心としたOJTが必要。

分析スキル

マーケティング&ビジネススキル テクノロジースキル

ヒューマンスキル

Page 49: Hadoopカンファレンス2013

グランドデザイン

49

Solr

Apache drill

RDB

BIツール

高速オンライン処理

・高速バッチ処理・データストア

ログ日次蓄積

行動ログリアルタイ

ム蓄積

リクルート外部データ

画面表示連携

検索

アナリスト エンジニア

マーケッター

Storm

リクルートでは今後も Hadoopそしてデータ分析を使い倒す!!

今後世に出るサービスの裏でデータ分析が、そして Hadoop が活躍していくこと

でしょう。