Hadoopカンファレンス2013

8,940 views

Published on

Published in: Technology
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,940
On SlideShare
0
From Embeds
0
Number of Embeds
3,213
Actions
Shares
0
Downloads
164
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Hadoopカンファレンス2013

  1. 1. リクルート式Hadoopの使い方 2ndEdition 株式会社リクルートテクノロジーズ ITソリューション部 ビッグデータグループ 石川 信行
  2. 2. 分社化について 主な事業会社 (株)リクルートキャリア (株)リクルートジョブズ (株)リクルートスタッフィング(株)リクルート (株)リクルート住まいカンパニー ホールディングス (株)リクルートライフスタイル (株)リクルートマーケティングパートナーズ (株)スタッフサービス・ホールディングス 機能会社 (株)リクルートアドミニストレーション (株)リクルートコミュニケーションズ (株)リクルートテクノロジーズ 2
  3. 3. リクルートグループのご紹介~リクルートについて ライフイベント領域 ライフスタイル領域 旅行 車購入 住宅購入 お稽古 ファッション 転職 出産/育児 結婚 時事 飲食 就職 進学 「選択・意思決定・行動」を支援する 情報サービスの提供
  4. 4. リクルートグループのご紹介カスタマーとクライアントを新しい接点で結び、「まだ、ここにない、出会い」の場を創造する。 カスタマー(ユーザー) クライアント
  5. 5. 自己紹介□名前石川 信行( ground_beetle)□出身福島県 いわき市大学時代は、害虫制御学、生物統計学、進化生態学専攻□経歴・2009年リクルート新卒入社・営業支援システムのコーダー(java)、DBAとして参加。・2010年~Hadoop推進担当・現Hadoop案件推進・新用途開発チームリーダー□ 趣味・外国産カブト虫飼育・スキューバダイビング・海水魚・サンゴ飼育
  6. 6. 2011年HadoopカンファレンスにてHadoop導入のストーリーと課題感、初期の事例紹介、エコシステムの利用状況などを中心にお話しましたが、この時点と比べてどのようにデータ活用が進んできたか。そんな話をできたらと思っています。 6
  7. 7. アジェンダ1 • 体制と環境の進化2 • 利活用事例紹介3 • 新しい技術・用途開発4 • 誰もが利用できるHadoopへ5 • まとめ
  8. 8. 体制と環境の進化
  9. 9. アナリスト定義ビッグデータに対峙する2種類のアナリスト【役割】事業の抱える課題解決に向けた仮説を立て、大量データをマイニングし具体的な解決案を提案する。現場に近いところで超具体的な方針を示す【スキル・知識】分析力、論理的思考力、仮説力、統計/マーケティング知識、SQL、Rなど【役割】データマイニングや機械学習を行った結果をもとに、ユーザーの行動特性など一定の規則性を見出し、提供サービスの品質向上に努める【スキル・知識】Hadoop、MapReduce、Mahout、Java、R、統計解析、時系列解析、データマイニング、機械学習、自然言語処理など 出展:http://engineer.typemag.jp/knowhow/2012/02/-13-2.php
  10. 10. ビッグデータG創設(「コンサル型」+「エンジニア型」)×マーケター協力できる体制が整備されました。 事業担当者ビッグデータグループ ≒マーケター コンサル型 エンジニア型分析者 Hadoopエンジニア 10
  11. 11. そんな中で僕の業務は 事業担当者 事業担当者 ≒マーケター ≒マーケター要件定義 技術提案集計・分析依頼 案件提案事業戦略共有 集計・分析 事業の担当者と直接要件 のやりとりをし、 分析者 エンジニア 構築・運用 実装や分析を通じて共に 価値を見出していく 最前線の部隊。 11
  12. 12. これまで数多くの失敗と成功を経験してきた とある調査会社の資料には8割の会社が情報活用を失敗する と記載がある。 リクルートでも正直失敗は繰り返されていた。 ・分析しっぱなし。 ・予算がとれない。 ・データを信用しない。 しかし、リクルートにはボトムアップの文化があった。 事業担当者もエンジニアも分析者も現場レイヤーの人間が それはもう泥臭く要件だし、実装、効果把握、報告を繰り 返したことでここまでやってこれたし、 社内での認知度もあがってきたといえる。
  13. 13. ビックデータの認識 Volume –大量データを格納・処理– サンプリングではなく全量データを対象に可視化と予測が可能に。 会員×原稿全パターンの最適化・パーソナライズなど。 Variety –多様な種類のデータを格納・処理– 非構造データ(ログやテキスト)を扱うことができ、人でなければ不可能だった 処理を機械で実行可能に。テキスト分類、画像解析など。 Velocity –データを速く処理– リアルタイム処理でwebのインタラクティブ性を向上。個々のユーザの利用に 応じて進化するレコメンドや、アクティブユーザの物件閲覧数をサイトに表出さ せる。 13
  14. 14. システム構成概要①リサーチ段 実験・検証 第1世代環境 第2世代環境 階 20台 120台 40台 (今後拡大) 3~4台 プライベートクラウド プライベートクラウド 部分的な 完全なる 実験機 ラボ環境 環境融合 環境融合2008~9 2010 2011 2012Webサイトのバッチ システム移行などで 商用利用が可能な設計 プライベートクラウド処理移植など、 余ったハードウェアを (セキュリティなど非 環境との融合を進めた処理性能の評価・ 再利用 機能面)を施した環境 環境研究 イマココ
  15. 15. システム構成概要② 第1世代 第2世代 Apache Hadoop / CDH MapR / GreenplumMR Heartbeat + DRBDMasterNode1 MasterNode2 MasterNode3 MasterNode4 Node1 Node2 Node3 Node4 JobTracker JobTracker CLDB CLDB CLDB CLDB NameNode NameNode JobTracker JobTracker JobTracker JobTracker Secondary Secondary TaskTracker TaskTracker TaskTracker TaskTracker NameNode NameNode FileServer FileServer FileServer FileServer WardenSlaveNode1 SlaveNode2 SlaveNode3 SlaveNode4 Node5 Node6 Node7 Node8 TaskTracker TaskTracker TaskTracker TaskTracker CLDB CLDB CLDB CLDB JobTracker JobTracker JobTracker JobTracker DataNode DataNode DataNode DataNode TaskTracker TaskTracker TaskTracker TaskTracker FileServer FileServer FileServer FileServerMaster4台+Slave15台+batch1台 3Nodeから、利用リソースの20台構成をベースに利用リソー に応じて増設スに応じてSlaveを増設
  16. 16. エコシステムを活用「エコシステム」をフル活用中。 RDB 問い合わせログ PVログ レコメンド データ Quest® Data Connector SQLライクな操作言語として、Hive マイニングのライブラリとして、mahout データ連携ツールとして、sqoop そして、Hbaseも現在実装中。
  17. 17. 利活用事例紹介
  18. 18. リスティング分事業A 施策シェア分析 析 クチコミ分析 サイト横断事業B サイト間 モニタリング レコメンド KWD×LP分析 クロスUU 指標事業C 調査 予約分析事業D 13事業に対し、 メルマガ施策 BI KPIモニタリン メール通数分析 現行応募相関 ステータス分析事業E グ 半期で120件超の 自然語解析 行動ターゲティング LPO事業F レコメンド ログ分析 メールレコメン事業G 自然語解析 ド 需要予測 クレンジング データ利活用 領域間クロス 集客モニタリン 需要予測 レコメンド 共通バナー グ事業H UU カスタマープロファイル 商材分析 クライアントHP分析 カスタマートラッキング KPIモニタリン アクション数予事業I グ 測 効果集計事業J 価格分析 レコメンド クラスタリング クチコミ分析 を展開中事業K レコメンド事業L レコメンド事業M 効果見立て分析 18
  19. 19. 2012年度進めてきた案件パターンHadoopに関してはほぼ全事業に提供完了。下図のように利用が概略化される。 大量集計 モニタリング ・セグメント切りの 営業用資料 軸を複数に。 戦略資料 ・対象期間を増やす 機能開発判断材料 ・RDBのデータ etc ・行動履歴 (サイトカタリスト、 スコア計算・アルゴリズム 独自ログ) ・会員×原稿のスコ ・テキスト メール・WEB ア付 レコメンド ・外部データ ・行動履歴から相関 算出 分析前集計 ロジック作成 ・分析用の変数作成 シナリオ作成 etc 19
  20. 20. パーソナライズド企業一覧説明と効果 個人の行動履歴をもとに会員にお勧め企業一覧を100件レコメンド。 結果12/18~24までの7日間で18000ものエントリーがあり、そのうち一括エント リーが149回(13410件)という結果が得られた。 20
  21. 21. 転職仲間機能 応募総数最大化に向けて、転職仲間機能を昨年の4/23にC/O。近い属性のユーザーを対象ユーザーにレコメンドし、ブックマークする機能を提供。 週に約70応募増の効果。ためぞう アクティブユーザー選出、 ノンアクティブユーザー選出@日次 DB ユーザー属性ごとに レコメンド対象ユーザーを算出
  22. 22. リクともLiteメール版 1週間での効果 転職仲間のロジックをリクナビに移 行しメールで配信。 リクナビ13で、卒業間近の2012年 11月に送ったにも関わらず通常メー ルに比べCVRで約2倍の効果。 リクナビ14での配信と画面化も予定。 22
  23. 23. オファー施策の改善のための戦略的分析レコメンドような目に見える施策だけではなく、事業の今後の施策実行のための戦略的分析も行っている。例えばオファー施策改善のための分析などがある。 ①オファーの送信 スカウト登録者数 約180万人 RNN登録会員数 ②応募・返信 370万人 クライアント 転職エージェント 課題 ・オファーはどのようなステータスのカスタマーに送信されているのか? ・ オファーを受信するタイミングにより、どの程度返信率が変化するのか? 23
  24. 24. オファー施策の改善のための戦略的分析 ・最新のステータス 1月1日のDB ・離脱のタイミングやRDBMS レジュメの変更比較が (会員離脱状況や原稿 掲載状況など)の保存 可能に。 1月2日のDB ・行動履歴の部分取得 ・種々の行動履歴を 1月3日のDB 長期間保存可能に。例えば分析の中で使われる1つのクエリはメッセージ送信テーブル(3500万件)と行動履歴テーブル(7億件)を 外部結合して120億件の中間テーブルを作成する処理通常の汎用RDBMSでは、37時間程度かかる見込みの処理が30分で帰ってくる。 価値ある Output 24
  25. 25. 事業でのHadoop案件推進体制 ■エントリ~実施判断まで 案件を一か所に集約することで、 共通チーム 分析の知見を集約する! GM 媒体1企画者 案件 案件 媒体2企画者 事業 Hadoop 案件 IT担当 事務局 案件 媒体3企画者 案件 ビッグデータG 担当 媒体4企画者 過去事例などから 実施案件 媒体5企画者 案件エントリ 工数と効果予測 判断
  26. 26. 事業での案件検討スキーム「検討」「開発」「振り返り」のプロセスを 標準化・効率化を目指し、開発フローを作成する。 情報共有 要件定義 エントリ 優先度判断 モニタリング 活性化 開発 企画・開発を近 フレームワーク づけ、ビッグ 勉強会を定期的 開発評議会にて 月次でエントリ を元に、開発評 データGと各開 に開催 モニタリングを 締め切り 議会にて判断す 発Gが直接開発 (Q毎ぐらい) 行う る を進める 活性化 活性化 投資効率UP 開発効率UP 投資効率UP
  27. 27. 現在取り組み中の案件も数多く、それも段々と難しく、事業インパクトも強い案件が多くなっている傾向があります。 シナリオマーケティング マッチング最適化 テキスト解析 27
  28. 28. 新しい技術・用途開発
  29. 29. 新技術のR&D取り組みステップ Gate Review Gate Review Gate Review R-Stage Dev-Stage β-Stage 運用-Stage・技術要素調査 ・効果的な仕組 ・正式にフィジ ・実運用へ・技術の実態を みとしてプレ実 ビリティスタ 把握する 装 ディとして推進 ・活用方法をさ ~展開をする らに開拓 非構造データ ビッグデータ 分析手法開発 (Hadoop) リアルタイム
  30. 30. Chemical Reaction 30
  31. 31. はたらいくテキストマッチング会員レジュメはらしさと仕事のクラスタ原稿側もクラスタリング 会員レジュメ クライアント原稿 原稿クラスター らしさクラ メイン スター マッチング サブ1 アルゴリズム サブ2 仕事クラス ター サブ3
  32. 32. Tryの数だけ成果があがる • 以下のような技術要素について、トライ&エラー・・・! ・150文字以下のレジュメは除外①データの定義 ・レジュメフォーマット使用疑い者を除外※クラスタリングが ・原稿側で、複数回掲載原稿でコピペしたような原稿適切になされるように について修正 ・原稿タイトル部分のウエイトを重くするするために検討が必要 ・単語の重要度を定義し、使用用語を選定 ・階層クラスタリング(KH-Coderによる) ・K-Means(Mahoutによる)②クラスタリング手法 ・Fuzzy K-Means(Mahoutによる) ・LatentDiricletAllocation(Mahoutによる) ・アソシエーション ・ロジスティック回帰(SPSS-Modelerによる)③クラスタ間の関係の表現手法 ・SGD手法(Mahoutによる) ・RandomForest(Mahoutによる) ・Tree-Net(SLFDによる)④評価指標 ・各種論文やモデリング指標を参考
  33. 33. 分析ロジックをHadoopで実装する。 21 レジュメ情報 重要後抽出 11 形態素解析 22 24 原稿情報 辞書変換 クラスタリング 23 応募履歴 ユーザスコア割当 12 23 PVデータ抽出 推薦結果 マッチング学習 閲覧履歴 マッチングアルゴリズム作成フェーズの演算を Hadoopに移植
  34. 34. Hbaseの利用 現在Hbaseを利用した機能C/Oに向けて、開発を行っている最中。 まずは行動履歴の保存先として 例:ユーザのアクセスログ用テーブル HBase Client Keyを指定してValueを検索 HBase リアルタイムに Row Column Row Column Value データアクセス User IP 1 IP x URL 1 IP x HBase (列指向データベース) Cookie 1 URL /aaa 1 URL /bbb 2 IP y 2 Cookie yyyHBase & 2 URL /aaaHadoop Cluster Keyでソート済 HDFS (分散ファイルシステム) 画面への状態表示。 例えばこのエリアを見た人が何人と か、ログインした人が何人とか。 それとリアルタイムレコメンド 34
  35. 35. リアルタイムレコメンド分析チームで作成したアルゴリズムをHadoopならびにHbaseに移植。リアルタイムで差配が効くレコメンドアルゴリズムが実装される。 スコア表 IMAアルゴリズム 更新 WEBサーバー IMAレコメ 出現数 ンド PV数推 レ薦 コア スコア表 行動履歴 メイ ンテ ドム 出 バルクロード flushP 現V 数数 スコア表 作成 多←PV数→少 35
  36. 36. コールドスタート問題を軽減初来訪のユーザーに対してレコメンド物件がない(コールドスタート)という問題に対し、外部データ(IPアドレスとエリアの紐付データ)を使うことで問題を軽減する。 IPアドレスと紐付エリア 初来訪時 から市区町村レベルまで絞ってレコメンド エリアの おすすめ原稿 閲覧 一個でも閲覧したユーザー リアルタイムレコメンド開始 36
  37. 37. リアルタイムレコメンド概要 バッチ会員×原稿の推薦リスト、原稿-原稿の関連性を作成する。(OffLineの処理) 原稿 SCデータ データ 会員×原稿の推薦リスト 原稿の閲覧関連性スコア 会員ID 原稿ID スコア 原稿ID 原稿ID スコア AAAAA 000001 1.0 000001 000002 0.2 AAAAA 000002 0.8 000001 000003 0.52 AAAAA 000003 0.6 000001 000004 0.55 AAAAA 000004 0.55 000001 000005 0.8 AAAAA 000005 0.52 000001 000006 0.5 AAAAA 000006 0.5 000001 000007 0.5 AAAAA 000007 0.4 000001 000008 0.8 AAAAA 000008 0.2 000001 000009 0.2 AAAAA 000009 0.1 000002 000003 0.52 37
  38. 38. リアルタイムレコメンド概要 オンライン閲覧した原稿に紐づく、原稿-原稿の相関スコアを、他の原稿のスコアに合算。(Onlineの処理) この原稿を 閲覧 とあるロジックで スコアを合算 38
  39. 39. Hbaseをリクルートらしく!リクルート内部には非構造系データがまだまだたくさん眠っているこれをもっと有効活用していきたい。例えば、使いどころが難しいとされているHbase0.92 より追加されたコプロセッサ機能。これに種々のアルゴリズムを実装し事業へ提供するようなことも考えている。 コプロセッサ 分類 類似検索 スコア計算 39
  40. 40. 誰もが利用できるHadoopへ
  41. 41. ユーザービリティ強化Hadoopへ自由にアクセスできるようにWebhiveを利用。事業の声を受けて改良中。ある事業ではすでに60本ものクエリ登録がなされ頻繁に利用されている。 41
  42. 42. 機能追加をしていく!Hiveのテーブル定義情報表示のように新機能を追加予定。 マスタデータのインサート機能、コメント表示やデリミタの切り替え などの機能を追加。 42
  43. 43. 知見の集約・展開WebHiveの画面にTips集を追加している。Hiveの高速化知見、関数の使い方などを蓄積し随時追加していき事業に公開している。(ただし、オープンソース版には追加していない。) 43
  44. 44. 事業と並走するまた、Hbaseの利用により、Tips集にメッセージ機能を追加予定。Q&Aにもベストエフォートで対応する。また、ビッグデータグループのもつデモサイトの役割も果たし新機能をどんどん追加予定。 44
  45. 45. SQL対応分散クエリエンジンも導入予定このように事業担当者がクエリを流すことに馴れてきている今、次はさらなる速さを求める動きもあり、 SQL対応分散クエリエンジンの導入も視野にいれている。使い手がHadoopに対する知識を持ち、Hiveでのクエリ処理に馴れてきたこのタイミングが重要。 45
  46. 46. まとめ
  47. 47. リクルート的ビッグデータ解析フロー。リクルートにおけるビッグデータ解析はTryandError方式。素早く環境を構築し、データを移行。実際のデータを用いて初回OUTPUTを行い、結果を見ながら要件を詰めて施策へ結び付けていく。 ある程度事業担 本番DB 当のやりたいこ Hadoop とを汲み取り、 検証環境 ログ 迅速に初回Hadoopエンジニア主 OUTPUTを作成 外部 導で素早く データ データを蓄積 効果を測定し、エンハンスや次期 Output新施策を検討する。 実際のデータを 事業知見 技術 見ながら、次の 効果測定 要件を検討 分析
  48. 48. データ分析に関して必要なものとは。事業担当者と最前線でやってきた立場から言えば、データ分析に必要なものは分析力、技術力はもちろんのこと事業の知見、安易に「できない」と判断しない思考、結果できた施策によってどんな世界が実現できるかを想像する力などヒューマンスキルも重要な気がしている。そしてこれらは実業でのTry&Errorで成長するものだと確信している。 分析スキル ヒューマンスキル マーケティング& ビジネススキル テクノロジースキル ※社員を育成する場合は、分析スキルを 中心としたOJTが必要。 48
  49. 49. グランドデザイン マーケッター アナリスト エンジニア 検索 リクルートでは今後もHadoop 画面表示 BIツール そしてデータ分析を使い倒す!! 連携 Storm Apache drill 行動ログ リアルタイ 今後世に出るサービスの裏でデータ分析 ム蓄積 ログ 日次蓄積 Solr 高速 が、そしてHadoopが活躍していくこと オンライン処理 でしょう。 ・高速バッチ処理 ・データストア リクルート 外部データ RDB 49

×