SlideShare a Scribd company logo
1 of 49
Download to read offline
Struggle against cross-domain
data complexity in Recruit group
リクルートテクノロジーズ
松﨑 遥(Haruka Matsuzaki)
(C) Recruit Technologies Co.,Ltd. All rights reserved.
アジェンダ
1.リクルート運営サービスのご紹介
2.横断データと技術的負債
3.フレームワークプロジェクト
4.HDP2.5・Kafka・Spark
5.結論 “On Happiness”
2
(C) Recruit Technologies Co.,Ltd. All rights reserved.
話者紹介
3
職務
学歴
~前職
所属
氏名
Recruit Technologies ITS統括部 ビッグデータ部
IDPoint領域 FrameworkTL (兼務:Holdings)
松﨑 遥
東京大学大学院広域科学研究科 複雑系科学
assembler
→c++/qt
→ObjC/tclTk
→php/js→iOS
→Java/js/css/Haskell
→Lucene/Hadoop→Spark/Scala
開発:リコメンデーション ジョブ自動生成 ETL
(C) Recruit Technologies Co.,Ltd. All rights reserved.
ライフイベント領域
進学
就職
結婚
転職
住宅購入
車購入
出産/育児
旅行
IT/トレンド
生活/地域情報
グルメ・美容
ライフスタイル領域
選択・意思決定 を支援する情報サービスの提供
「まだ、ここにない、出会い。」を実現する
リクルート運営サービスのご紹介
(C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートID
一人ひとりにあった最適な情報を提供し、皆様の選択や行動を支える存在となることを目指す
(C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートIDとは
(C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートIDが使えるサービス①
(C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートIDが使えるサービス②
(C) Recruit Technologies Co.,Ltd. All rights reserved.
「リクルートポイント」の「Pontaポイント」へ
(C) Recruit Technologies Co.,Ltd. All rights reserved.
アジェンダ
1.弊社と運営サービスのご紹介
2.横断データと技術的負債
3.「フレームワークプロジェクト」
4.HDP2.5・Kafka・Spark
5.結論 “On Happiness”
10
(C) Recruit Technologies Co.,Ltd. All rights reserved.
横断データ活用:フェーズ
ID基盤が整いデータが増加し、我々は成長期の真っ只中
爆発的な成長を目指すが・・・技術的負債が顕在化
11
黎明期 成長期
・効果額
・施策数
・利用者数
貢献
価値
(C) Recruit Technologies Co.,Ltd. All rights reserved.
黎明期:基本戦略
各サービスから各種データを収集、DWH/Datalakeに蓄積し活用
12
DWH
横断データ
活用施策
(C) Recruit Technologies Co.,Ltd. All rights reserved.
黎明期:データ統合
サイト毎の仕様差異の吸収 個人情報のマスキング 重複や欠損のクリーニング…
13
DWH
0001
0002
0003
0004
(C) Recruit Technologies Co.,Ltd. All rights reserved.
黎明期:経営戦略指標
横断データ活用への最初の要求は、経営陣からの「経営指標」の集計
14
Query
DWH
(C) Recruit Technologies Co.,Ltd. All rights reserved.
黎明期:定常化運用
有用なものは日次/月次実行する”資産”となり、加速度的に増加
15
≒1000 Queries
run everyday
Query
DWH
(C) Recruit Technologies Co.,Ltd. All rights reserved.
黎明期:機械学習の開始
DMTを機械学習の学習データとして転用
16
Another
Data
DWH
(C) Recruit Technologies Co.,Ltd. All rights reserved.
黎明期:機械学習の加速
17
DWH
Prepared
Data1
Prepared
Data2
MLlib
次々と機械学習アルゴリズムを変えるため、データ間の依存度が加速
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Sou
rce
DWH DMT APP
黎明期:出来上がったシステム
18
“DMT”
users
DWH MLlibDWH
0001
0002
0003
0004
(C) Recruit Technologies Co.,Ltd. All rights reserved.
黎明期〜成長期:システム運用
19
DWH MLlibDWH
0001
0002
0003
0004
Change
prediction
corrupt
Change Change
more
users
Bigger
DMT
more
data
source
We changed
log spec!
bug
mism
atch
halt
mism
atch
rerun!
more
work
(C) Recruit Technologies Co.,Ltd. All rights reserved.
考察
20
なぜ仕事が増えるのか?
DWH DMT APP
開発業務の増加
・クエリ複雑化
・依存性複雑化
・再発明
・リカバリ
・仕様変更対応
運用業務の増加
・Hadoop等バグ調査
・各サイト繁忙期の
データ負荷対応
・リソース不足
・データ転送
待ちの増加
・機械学習用DMT開発
における低再利用性
・DMT処理時間待ち
・アルゴリズム変更に伴
う入力仕様変更
(C) Recruit Technologies Co.,Ltd. All rights reserved.
技術的負債の溜まり場
黎明期に描かれた古典モデルの破綻?
21
DWH DMT APP
(C) Recruit Technologies Co.,Ltd. All rights reserved.
構造的問題への対処:シフト
合理的な判断の結果、問題が生まれている
22
DMTへの投資システム成長
DMTへの投資DMTへの投資
DMTへの投資期待・投資
① 黎明期:急成長
・利用者の増加
・投資金額 etc…
技術的負債
外部要因:
プレッシャー
etc…
② 成長期:鈍化
・ムダな業務の増加
・運用負荷 etc…
歯止め
(C) Recruit Technologies Co.,Ltd. All rights reserved.
アジェンダ
1.弊社と運営サービスのご紹介
2.横断データと技術的負債
3.「フレームワークプロジェクト」
4.HDP2.5・Kafka・Spark
5.結論 “On Happiness”
23
(C) Recruit Technologies Co.,Ltd. All rights reserved.
フレームワークプロジェクト(var/log)
技術的負債を徹底的に排除するためのコードベース(jar)
24
Integrate software
resources & unlock
their full potential
“Absolute DRY”
common process
auto generated
DSL for processing
typically structured
data of Recruit
Codebase
(C) Recruit Technologies Co.,Ltd. All rights reserved.
哲学=「ありものは使わない」
外部ソリューションや、オープンソースフレームワークへの導入を試すも・・・
• 視野が狭まる
• 機能不足・バグ/オーバースペック
• ジョブ移行コストの膨大さ
• 「リクルートだけの問題」
方針
1. 長い道のりだけど、自分で作ろう。
2. 本当にあらゆる面で優れた
製品があったら、道を譲ろう。
25
(C) Recruit Technologies Co.,Ltd. All rights reserved.
技術的負債のブレークダウンとソリューション:
26
• 最適なMW• 隠蔽
制約
• DI
AOP
• 共通化
Code生成
DRY Plugin
SpeedSimple
重複コードが多い 再利用の属人化・不徹底
1つのMW上での無理な実装設計の不在・無秩序
(C) Recruit Technologies Co.,Ltd. All rights reserved.
DRY(Don’t repeat yourself)
• コンポーネント + コード生成
27
補完前
Loading
Mahout
Saving
xml 補完後
Recommend
User (Int)
Item (Int)
Dictionary
UserId (Int)
User (String)
Dictionary
ItemId(Int)
Item(String)
Input
UserId (Int)
ItemId(Int)
Loading
Mahout
Saving
Indexing
Format
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Simple
• DASE ”MVC for Data Science”
• それ以外は極力隠蔽
28
<data/> <algorithm/> <serving/> <evaluation/>
xml .Jar
Loading
Query
Query
RDD
+Scala
Jar内部で判定
• 次のAlgorithmは何?
• データ量はどのくらい?
• 過去の判定結果は?
MR
Parallel
Query
Hdfs+
External
(C) Recruit Technologies Co.,Ltd. All rights reserved.
.Jar
Plugin
DIコンポーネントのAutowire/AOPにより以下の機能は自動実行
• 件数カウント
• メール送信
• ログ+グラフ化
• クエリ解析+ステップ補完
• クエリセッション設定・ヒント
29
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Speed
• JDBC, Hive, Hbase, MapReduce, Elasticsearch…
• 普通のJavaでHDFSにRead/Write
• Pojoを渡せばAvro実装
• Templates & Callbacks
• Spring Batch - スレッド標準実装
• Spring Boot + Maven - 既存知識の活用
30
各MWの特性を理解する + 最適なMWを利用するハードル(転送・学習)を0に
HiveServer
• Debugability on local machine
• No Need to move jars on cluster (v.v UDFs)
(C) Recruit Technologies Co.,Ltd. All rights reserved.
プロジェクト完了!?
半年後、var/logは完成し、最初のvar/logジョブをリリース
その後、新規ジョブはvar/log上に実装
31
(C) Recruit Technologies Co.,Ltd. All rights reserved.
アジェンダ
1.弊社と運営サービスのご紹介
2.横断データと技術的負債
3.「フレームワークプロジェクト」
4.HDP2.5・Kafka・Spark
5.結論 “On Happiness”
32
(C) Recruit Technologies Co.,Ltd. All rights reserved.
フレームワークプロジェクト 第2章
半年後var/logは完成し、運用に乗ったが、2通りの社内顧客を発見
1. [High-end Customers]
ニーズ : 速度・定常運用・生産性
2. [Early Adopters]
ニーズ : 最新論文・実験・Lean
2分割開発体制への移行を決定
33
Business Engineer
Scientist Engineer
コードは使い捨て
データがあり
動けばいい
最適化・リファクタは
とりあえずあとで
・・・
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Move onto Agility
34
DWH DMT APP
DWH DMT Produ
ction
pub
sub
Sandbox
Business
Engineer
Scientist
Everyone
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Early Adopter向け機能とは何か
ニーズ:さあ、実験をしよう。
1. 秒単位の応答性能
2. その場の思いつきを実データに適用
• 新しいライブラリ・・・
• 新しい特徴量・・・
• 新しい数式・・・
• 新しい自作関数・・・
3. そのままリリース
→ jar + xml configuration ではない
35
(C) Recruit Technologies Co.,Ltd. All rights reserved.
import varlog.jar on Zeppelin
36
.Jar
その場で作った
自作関数(動作確認後varlog.jarにコミット)
データ抜きだし・加工
(C) Recruit Technologies Co.,Ltd. All rights reserved.
back to xml
.scala
File
<scala>
xml-tag
autodeploy
37
Release Notes as a Job
.Jar
Zeppelinで動作すれば、xmlにコピーして自動リリースも可能
(C) Recruit Technologies Co.,Ltd. All rights reserved.
PUBSUBシステム構成
38
Pub
-sub
DAORDD
xml
DWH
Another
Data
Hadoop
elastic
Job
Powered by hdp2.5
Why
Kafka?
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Background Data Store: Kafka
Kafkaとは?
• publish & subscribe方式の分散データストア
利点
1. ビッグデータシステム間のトポロジー構造の単純化
2. 高速なスループット
3. Sparkとの接続性
39
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Kafka 1) トポロジー構造の単純化
Jay Kreps(the original author of Kafka)によれば・・・
40
<<
トポロジーが複雑=システム間のデータ転送が多い状況
ex) HBase→Hive, Hive→Oracle, Oracle→Hive, Oracle→Elastic, Prod→Sand…
Before
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Kafka 2) 高いスループット性能
put=4000件/秒=11.0MB〜14000件/秒
get=10000件/秒=31.7MB (no OS pagecache)
MessageSize=3kB, Broker=1で上記性能。チューニング・スケールアウトも可
開発環境をローカルVMに構築
41
(C) Recruit Technologies Co.,Ltd. All rights reserved.
狙い:最適なシステムの統合による高速化
通常ETLジョブ:全てのSQLがLoad/Join/Function/Persist処理を全部実行。役割分担無し
42
L J F PL J F P L J F P
L/J処理を集約後SparkでF/P処理を実行。明確な役割分担
• DWH:Join,GroupByのみ
• Kafka:Sparkのメモリへのロードのみ
• Spark:ScalaFunction再利用のみ
DWH
EXA
elastic
Hadoop
L
L
J J J
F
P
P
P
L
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Kafka 3) Sparkとの接続
OracleやHive内のデータ加工関数のモジュラリティは低い。scalaの関数をjarからExport
43
.Jar
Before:
After:
select
case when
t.name in
(‘a’) then 1
SQL
id num
u1 1
u2 2
u3 3
DMT
public
functions
def func
implict class A(RDD)
mapRow
hiveUdf
scala
Reusablily
(C) Recruit Technologies Co.,Ltd. All rights reserved.
“秒”レスポンスの検証
特徴量加工+データを1件覗く
1秒
44
特徴量加工+Reduce
53秒
特徴量加工+train+predict
169秒(50万件)
さらに負荷
306秒(Depth = 30)
ある画面の1週間のImpressionが約50万件。Task「RandomForestでクリック予測」
• overhead: spark=5sec Mllib=120sec
• Spark Memory: 6G/192G
• Kafka Bytes Out: 5G (Throughput: 100M/sec)
Total 300 sec
Kafka 50 ML min 120 ML ext 140〜
Grafana
(C) Recruit Technologies Co.,Ltd. All rights reserved.
インタラクティブ:MobProgrammingにも最適
45
チーム全体が同じことを、同じ時に、同じ場所で、
同じコンピュータ上で作業するソフトウェア開発アプローチ
Agile原則(抜粋)
• フェース・トゥ・フェース ”ワイガヤ環境”
• 動くコードの2週間でのリリース
• 難しい判断を要する設計の自己組織的決定
• 動くコードでデモすることによる活発な議論
を促進
(C) Recruit Technologies Co.,Ltd. All rights reserved.
アジェンダ
1.弊社と運営サービスのご紹介
2.横断データと技術的負債
3.「フレームワークプロジェクト」
4.HDP2.5・Kafka・Spark
5.結論 “On Happiness”
46
(C) Recruit Technologies Co.,Ltd. All rights reserved.
我々が今目指している環境について
47
Analysis Ops
Engineering
Study
Idea
try
Scientist
(C) Recruit Technologies Co.,Ltd. All rights reserved.
Workflow Change : Happy Analytics
Before:
After:
48
.Jar
Scientist
Scientist
HBase Hive Oracle
sqoop
“accessible data”
• 実験
• 生産性
• 共同作業
• 即時性/インタラクティブ性
Java
・・・
(C) Recruit Technologies Co.,Ltd. All rights reserved.
最後に
49
Join,
facebook
是非、データサイエンティストの働きやすい環境へ!

More Related Content

What's hot

AWSでのセキュリティ運用 ~ IAM,VPCその他
AWSでのセキュリティ運用 ~IAM,VPCその他AWSでのセキュリティ運用 ~IAM,VPCその他
AWSでのセキュリティ運用 ~ IAM,VPCその他Recruit Technologies
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤Recruit Technologies
 
[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...
[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...
[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...Recruit Technologies
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みRecruit Technologies
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方Recruit Technologies
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Recruit Technologies
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みRecruit Technologies
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Recruit Technologies
 
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャシステム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャRecruit Technologies
 
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHIKamonohashi
 
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...Recruit Technologies
 
<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介
<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介
<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介Kamonohashi
 
NAB Show 2019 - Microsoft Update - AI for Media 2019 Spring
NAB Show 2019 - Microsoft Update - AI for Media 2019 SpringNAB Show 2019 - Microsoft Update - AI for Media 2019 Spring
NAB Show 2019 - Microsoft Update - AI for Media 2019 SpringDaiyu Hatakeyama
 
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話Kamonohashi
 
リクルートにおけるhadoop活用事例+α
リクルートにおけるhadoop活用事例+αリクルートにおけるhadoop活用事例+α
リクルートにおけるhadoop活用事例+αRecruit Technologies
 
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例Amazon Web Services Japan
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...NTT DATA Technology & Innovation
 

What's hot (20)

AWSでのセキュリティ運用 ~ IAM,VPCその他
AWSでのセキュリティ運用 ~IAM,VPCその他AWSでのセキュリティ運用 ~IAM,VPCその他
AWSでのセキュリティ運用 ~ IAM,VPCその他
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤
 
20150625 cloudera
20150625 cloudera20150625 cloudera
20150625 cloudera
 
[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...
[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...
[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
 
Node.jsStreamについて
Node.jsStreamについてNode.jsStreamについて
Node.jsStreamについて
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
 
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャシステム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
 
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
 
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
 
<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介
<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介
<AI開発者向け>Deep Learningへの取り組み、およびKAMONOHASHIのご紹介
 
WebDB Forum 2013
WebDB Forum 2013 WebDB Forum 2013
WebDB Forum 2013
 
NAB Show 2019 - Microsoft Update - AI for Media 2019 Spring
NAB Show 2019 - Microsoft Update - AI for Media 2019 SpringNAB Show 2019 - Microsoft Update - AI for Media 2019 Spring
NAB Show 2019 - Microsoft Update - AI for Media 2019 Spring
 
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
 
リクルートにおけるhadoop活用事例+α
リクルートにおけるhadoop活用事例+αリクルートにおけるhadoop活用事例+α
リクルートにおけるhadoop活用事例+α
 
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 

Viewers also liked

Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.Recruit Technologies
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルRecruit Technologies
 
EMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成するEMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成するRecruit Technologies
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介Recruit Technologies
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントRecruit Technologies
 
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Recruit Technologies
 
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~Recruit Technologies
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントRecruit Technologies
 
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントリクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントRecruit Technologies
 
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~Recruit Technologies
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例Recruit Technologies
 
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後Recruit Technologies
 
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所Recruit Technologies
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術Recruit Technologies
 
リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介Recruit Technologies
 
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]オラクルエンジニア通信
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 

Viewers also liked (20)

Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
 
EMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成するEMRでスポットインスタンスの自動入札ツールを作成する
EMRでスポットインスタンスの自動入札ツールを作成する
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
 
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
 
「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~「リクルートデータセット」 ~公開までの道のりとこれから~
「リクルートデータセット」 ~公開までの道のりとこれから~
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
 
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントリクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
 
LT(自由)
LT(自由)LT(自由)
LT(自由)
 
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
 
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後
 
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
 
リクルート式AIの活用法
リクルート式AIの活用法リクルート式AIの活用法
リクルート式AIの活用法
 
銀行ロビーアシスタント
銀行ロビーアシスタント銀行ロビーアシスタント
銀行ロビーアシスタント
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術
 
リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介
 
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 

Similar to Struggle against cross-domain data complexity in Recruit group

Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019MKT-INTHEFOREST
 
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Chihiro Ito
 
Redshift Spectrumを使ってみた話
Redshift Spectrumを使ってみた話Redshift Spectrumを使ってみた話
Redshift Spectrumを使ってみた話Yoshiki Kouno
 
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...Insight Technology, Inc.
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングTakashi Suzuki
 
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証Recruit Technologies
 
Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Recruit Technologies
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例Tetsutaro Watanabe
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションオラクルエンジニア通信
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
2013.06.20 oss
2013.06.20 oss2013.06.20 oss
2013.06.20 ossRyo Fujita
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方Harada Kazuki
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Masatomo Ito
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2Dell TechCenter Japan
 
Java SE 8におけるHotSpotの進化 [Java Day Tokyo 2014 C-2]
Java SE 8におけるHotSpotの進化 [Java Day Tokyo 2014 C-2]Java SE 8におけるHotSpotの進化 [Java Day Tokyo 2014 C-2]
Java SE 8におけるHotSpotの進化 [Java Day Tokyo 2014 C-2]David Buck
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with KarateTakanori Suzuki
 

Similar to Struggle against cross-domain data complexity in Recruit group (20)

Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
 
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要
 
Redshift Spectrumを使ってみた話
Redshift Spectrumを使ってみた話Redshift Spectrumを使ってみた話
Redshift Spectrumを使ってみた話
 
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
 
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
 
Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
2013.06.20 oss
2013.06.20 oss2013.06.20 oss
2013.06.20 oss
 
ICD/CPSY 201412
ICD/CPSY 201412ICD/CPSY 201412
ICD/CPSY 201412
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 
第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部
 
Java SE 8におけるHotSpotの進化 [Java Day Tokyo 2014 C-2]
Java SE 8におけるHotSpotの進化 [Java Day Tokyo 2014 C-2]Java SE 8におけるHotSpotの進化 [Java Day Tokyo 2014 C-2]
Java SE 8におけるHotSpotの進化 [Java Day Tokyo 2014 C-2]
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
 

More from Recruit Technologies

新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場Recruit Technologies
 
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学びカーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学びRecruit Technologies
 
HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話Recruit Technologies
 
Hadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyHadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyRecruit Technologies
 
リクルートにおけるデータのインフラ化への取組
リクルートにおけるデータのインフラ化への取組リクルートにおけるデータのインフラ化への取組
リクルートにおけるデータのインフラ化への取組Recruit Technologies
 
DataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズDataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズRecruit Technologies
 
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介Recruit Technologies
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介Recruit Technologies
 

More from Recruit Technologies (9)

新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場新卒2年目が鍛えられたコードレビュー道場
新卒2年目が鍛えられたコードレビュー道場
 
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学びカーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
 
Tableau活用4年の軌跡
Tableau活用4年の軌跡Tableau活用4年の軌跡
Tableau活用4年の軌跡
 
HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話HadoopをBQにマイグレしようとしてる話
HadoopをBQにマイグレしようとしてる話
 
Hadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyHadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit Company
 
リクルートにおけるデータのインフラ化への取組
リクルートにおけるデータのインフラ化への取組リクルートにおけるデータのインフラ化への取組
リクルートにおけるデータのインフラ化への取組
 
DataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズDataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズ
 
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 

Struggle against cross-domain data complexity in Recruit group

  • 1. Struggle against cross-domain data complexity in Recruit group リクルートテクノロジーズ 松﨑 遥(Haruka Matsuzaki)
  • 2. (C) Recruit Technologies Co.,Ltd. All rights reserved. アジェンダ 1.リクルート運営サービスのご紹介 2.横断データと技術的負債 3.フレームワークプロジェクト 4.HDP2.5・Kafka・Spark 5.結論 “On Happiness” 2
  • 3. (C) Recruit Technologies Co.,Ltd. All rights reserved. 話者紹介 3 職務 学歴 ~前職 所属 氏名 Recruit Technologies ITS統括部 ビッグデータ部 IDPoint領域 FrameworkTL (兼務:Holdings) 松﨑 遥 東京大学大学院広域科学研究科 複雑系科学 assembler →c++/qt →ObjC/tclTk →php/js→iOS →Java/js/css/Haskell →Lucene/Hadoop→Spark/Scala 開発:リコメンデーション ジョブ自動生成 ETL
  • 4. (C) Recruit Technologies Co.,Ltd. All rights reserved. ライフイベント領域 進学 就職 結婚 転職 住宅購入 車購入 出産/育児 旅行 IT/トレンド 生活/地域情報 グルメ・美容 ライフスタイル領域 選択・意思決定 を支援する情報サービスの提供 「まだ、ここにない、出会い。」を実現する リクルート運営サービスのご紹介
  • 5. (C) Recruit Technologies Co.,Ltd. All rights reserved. リクルートID 一人ひとりにあった最適な情報を提供し、皆様の選択や行動を支える存在となることを目指す
  • 6. (C) Recruit Technologies Co.,Ltd. All rights reserved. リクルートIDとは
  • 7. (C) Recruit Technologies Co.,Ltd. All rights reserved. リクルートIDが使えるサービス①
  • 8. (C) Recruit Technologies Co.,Ltd. All rights reserved. リクルートIDが使えるサービス②
  • 9. (C) Recruit Technologies Co.,Ltd. All rights reserved. 「リクルートポイント」の「Pontaポイント」へ
  • 10. (C) Recruit Technologies Co.,Ltd. All rights reserved. アジェンダ 1.弊社と運営サービスのご紹介 2.横断データと技術的負債 3.「フレームワークプロジェクト」 4.HDP2.5・Kafka・Spark 5.結論 “On Happiness” 10
  • 11. (C) Recruit Technologies Co.,Ltd. All rights reserved. 横断データ活用:フェーズ ID基盤が整いデータが増加し、我々は成長期の真っ只中 爆発的な成長を目指すが・・・技術的負債が顕在化 11 黎明期 成長期 ・効果額 ・施策数 ・利用者数 貢献 価値
  • 12. (C) Recruit Technologies Co.,Ltd. All rights reserved. 黎明期:基本戦略 各サービスから各種データを収集、DWH/Datalakeに蓄積し活用 12 DWH 横断データ 活用施策
  • 13. (C) Recruit Technologies Co.,Ltd. All rights reserved. 黎明期:データ統合 サイト毎の仕様差異の吸収 個人情報のマスキング 重複や欠損のクリーニング… 13 DWH 0001 0002 0003 0004
  • 14. (C) Recruit Technologies Co.,Ltd. All rights reserved. 黎明期:経営戦略指標 横断データ活用への最初の要求は、経営陣からの「経営指標」の集計 14 Query DWH
  • 15. (C) Recruit Technologies Co.,Ltd. All rights reserved. 黎明期:定常化運用 有用なものは日次/月次実行する”資産”となり、加速度的に増加 15 ≒1000 Queries run everyday Query DWH
  • 16. (C) Recruit Technologies Co.,Ltd. All rights reserved. 黎明期:機械学習の開始 DMTを機械学習の学習データとして転用 16 Another Data DWH
  • 17. (C) Recruit Technologies Co.,Ltd. All rights reserved. 黎明期:機械学習の加速 17 DWH Prepared Data1 Prepared Data2 MLlib 次々と機械学習アルゴリズムを変えるため、データ間の依存度が加速
  • 18. (C) Recruit Technologies Co.,Ltd. All rights reserved. Sou rce DWH DMT APP 黎明期:出来上がったシステム 18 “DMT” users DWH MLlibDWH 0001 0002 0003 0004
  • 19. (C) Recruit Technologies Co.,Ltd. All rights reserved. 黎明期〜成長期:システム運用 19 DWH MLlibDWH 0001 0002 0003 0004 Change prediction corrupt Change Change more users Bigger DMT more data source We changed log spec! bug mism atch halt mism atch rerun! more work
  • 20. (C) Recruit Technologies Co.,Ltd. All rights reserved. 考察 20 なぜ仕事が増えるのか? DWH DMT APP 開発業務の増加 ・クエリ複雑化 ・依存性複雑化 ・再発明 ・リカバリ ・仕様変更対応 運用業務の増加 ・Hadoop等バグ調査 ・各サイト繁忙期の データ負荷対応 ・リソース不足 ・データ転送 待ちの増加 ・機械学習用DMT開発 における低再利用性 ・DMT処理時間待ち ・アルゴリズム変更に伴 う入力仕様変更
  • 21. (C) Recruit Technologies Co.,Ltd. All rights reserved. 技術的負債の溜まり場 黎明期に描かれた古典モデルの破綻? 21 DWH DMT APP
  • 22. (C) Recruit Technologies Co.,Ltd. All rights reserved. 構造的問題への対処:シフト 合理的な判断の結果、問題が生まれている 22 DMTへの投資システム成長 DMTへの投資DMTへの投資 DMTへの投資期待・投資 ① 黎明期:急成長 ・利用者の増加 ・投資金額 etc… 技術的負債 外部要因: プレッシャー etc… ② 成長期:鈍化 ・ムダな業務の増加 ・運用負荷 etc… 歯止め
  • 23. (C) Recruit Technologies Co.,Ltd. All rights reserved. アジェンダ 1.弊社と運営サービスのご紹介 2.横断データと技術的負債 3.「フレームワークプロジェクト」 4.HDP2.5・Kafka・Spark 5.結論 “On Happiness” 23
  • 24. (C) Recruit Technologies Co.,Ltd. All rights reserved. フレームワークプロジェクト(var/log) 技術的負債を徹底的に排除するためのコードベース(jar) 24 Integrate software resources & unlock their full potential “Absolute DRY” common process auto generated DSL for processing typically structured data of Recruit Codebase
  • 25. (C) Recruit Technologies Co.,Ltd. All rights reserved. 哲学=「ありものは使わない」 外部ソリューションや、オープンソースフレームワークへの導入を試すも・・・ • 視野が狭まる • 機能不足・バグ/オーバースペック • ジョブ移行コストの膨大さ • 「リクルートだけの問題」 方針 1. 長い道のりだけど、自分で作ろう。 2. 本当にあらゆる面で優れた 製品があったら、道を譲ろう。 25
  • 26. (C) Recruit Technologies Co.,Ltd. All rights reserved. 技術的負債のブレークダウンとソリューション: 26 • 最適なMW• 隠蔽 制約 • DI AOP • 共通化 Code生成 DRY Plugin SpeedSimple 重複コードが多い 再利用の属人化・不徹底 1つのMW上での無理な実装設計の不在・無秩序
  • 27. (C) Recruit Technologies Co.,Ltd. All rights reserved. DRY(Don’t repeat yourself) • コンポーネント + コード生成 27 補完前 Loading Mahout Saving xml 補完後 Recommend User (Int) Item (Int) Dictionary UserId (Int) User (String) Dictionary ItemId(Int) Item(String) Input UserId (Int) ItemId(Int) Loading Mahout Saving Indexing Format
  • 28. (C) Recruit Technologies Co.,Ltd. All rights reserved. Simple • DASE ”MVC for Data Science” • それ以外は極力隠蔽 28 <data/> <algorithm/> <serving/> <evaluation/> xml .Jar Loading Query Query RDD +Scala Jar内部で判定 • 次のAlgorithmは何? • データ量はどのくらい? • 過去の判定結果は? MR Parallel Query Hdfs+ External
  • 29. (C) Recruit Technologies Co.,Ltd. All rights reserved. .Jar Plugin DIコンポーネントのAutowire/AOPにより以下の機能は自動実行 • 件数カウント • メール送信 • ログ+グラフ化 • クエリ解析+ステップ補完 • クエリセッション設定・ヒント 29
  • 30. (C) Recruit Technologies Co.,Ltd. All rights reserved. Speed • JDBC, Hive, Hbase, MapReduce, Elasticsearch… • 普通のJavaでHDFSにRead/Write • Pojoを渡せばAvro実装 • Templates & Callbacks • Spring Batch - スレッド標準実装 • Spring Boot + Maven - 既存知識の活用 30 各MWの特性を理解する + 最適なMWを利用するハードル(転送・学習)を0に HiveServer • Debugability on local machine • No Need to move jars on cluster (v.v UDFs)
  • 31. (C) Recruit Technologies Co.,Ltd. All rights reserved. プロジェクト完了!? 半年後、var/logは完成し、最初のvar/logジョブをリリース その後、新規ジョブはvar/log上に実装 31
  • 32. (C) Recruit Technologies Co.,Ltd. All rights reserved. アジェンダ 1.弊社と運営サービスのご紹介 2.横断データと技術的負債 3.「フレームワークプロジェクト」 4.HDP2.5・Kafka・Spark 5.結論 “On Happiness” 32
  • 33. (C) Recruit Technologies Co.,Ltd. All rights reserved. フレームワークプロジェクト 第2章 半年後var/logは完成し、運用に乗ったが、2通りの社内顧客を発見 1. [High-end Customers] ニーズ : 速度・定常運用・生産性 2. [Early Adopters] ニーズ : 最新論文・実験・Lean 2分割開発体制への移行を決定 33 Business Engineer Scientist Engineer コードは使い捨て データがあり 動けばいい 最適化・リファクタは とりあえずあとで ・・・
  • 34. (C) Recruit Technologies Co.,Ltd. All rights reserved. Move onto Agility 34 DWH DMT APP DWH DMT Produ ction pub sub Sandbox Business Engineer Scientist Everyone
  • 35. (C) Recruit Technologies Co.,Ltd. All rights reserved. Early Adopter向け機能とは何か ニーズ:さあ、実験をしよう。 1. 秒単位の応答性能 2. その場の思いつきを実データに適用 • 新しいライブラリ・・・ • 新しい特徴量・・・ • 新しい数式・・・ • 新しい自作関数・・・ 3. そのままリリース → jar + xml configuration ではない 35
  • 36. (C) Recruit Technologies Co.,Ltd. All rights reserved. import varlog.jar on Zeppelin 36 .Jar その場で作った 自作関数(動作確認後varlog.jarにコミット) データ抜きだし・加工
  • 37. (C) Recruit Technologies Co.,Ltd. All rights reserved. back to xml .scala File <scala> xml-tag autodeploy 37 Release Notes as a Job .Jar Zeppelinで動作すれば、xmlにコピーして自動リリースも可能
  • 38. (C) Recruit Technologies Co.,Ltd. All rights reserved. PUBSUBシステム構成 38 Pub -sub DAORDD xml DWH Another Data Hadoop elastic Job Powered by hdp2.5 Why Kafka?
  • 39. (C) Recruit Technologies Co.,Ltd. All rights reserved. Background Data Store: Kafka Kafkaとは? • publish & subscribe方式の分散データストア 利点 1. ビッグデータシステム間のトポロジー構造の単純化 2. 高速なスループット 3. Sparkとの接続性 39
  • 40. (C) Recruit Technologies Co.,Ltd. All rights reserved. Kafka 1) トポロジー構造の単純化 Jay Kreps(the original author of Kafka)によれば・・・ 40 << トポロジーが複雑=システム間のデータ転送が多い状況 ex) HBase→Hive, Hive→Oracle, Oracle→Hive, Oracle→Elastic, Prod→Sand… Before
  • 41. (C) Recruit Technologies Co.,Ltd. All rights reserved. Kafka 2) 高いスループット性能 put=4000件/秒=11.0MB〜14000件/秒 get=10000件/秒=31.7MB (no OS pagecache) MessageSize=3kB, Broker=1で上記性能。チューニング・スケールアウトも可 開発環境をローカルVMに構築 41
  • 42. (C) Recruit Technologies Co.,Ltd. All rights reserved. 狙い:最適なシステムの統合による高速化 通常ETLジョブ:全てのSQLがLoad/Join/Function/Persist処理を全部実行。役割分担無し 42 L J F PL J F P L J F P L/J処理を集約後SparkでF/P処理を実行。明確な役割分担 • DWH:Join,GroupByのみ • Kafka:Sparkのメモリへのロードのみ • Spark:ScalaFunction再利用のみ DWH EXA elastic Hadoop L L J J J F P P P L
  • 43. (C) Recruit Technologies Co.,Ltd. All rights reserved. Kafka 3) Sparkとの接続 OracleやHive内のデータ加工関数のモジュラリティは低い。scalaの関数をjarからExport 43 .Jar Before: After: select case when t.name in (‘a’) then 1 SQL id num u1 1 u2 2 u3 3 DMT public functions def func implict class A(RDD) mapRow hiveUdf scala Reusablily
  • 44. (C) Recruit Technologies Co.,Ltd. All rights reserved. “秒”レスポンスの検証 特徴量加工+データを1件覗く 1秒 44 特徴量加工+Reduce 53秒 特徴量加工+train+predict 169秒(50万件) さらに負荷 306秒(Depth = 30) ある画面の1週間のImpressionが約50万件。Task「RandomForestでクリック予測」 • overhead: spark=5sec Mllib=120sec • Spark Memory: 6G/192G • Kafka Bytes Out: 5G (Throughput: 100M/sec) Total 300 sec Kafka 50 ML min 120 ML ext 140〜 Grafana
  • 45. (C) Recruit Technologies Co.,Ltd. All rights reserved. インタラクティブ:MobProgrammingにも最適 45 チーム全体が同じことを、同じ時に、同じ場所で、 同じコンピュータ上で作業するソフトウェア開発アプローチ Agile原則(抜粋) • フェース・トゥ・フェース ”ワイガヤ環境” • 動くコードの2週間でのリリース • 難しい判断を要する設計の自己組織的決定 • 動くコードでデモすることによる活発な議論 を促進
  • 46. (C) Recruit Technologies Co.,Ltd. All rights reserved. アジェンダ 1.弊社と運営サービスのご紹介 2.横断データと技術的負債 3.「フレームワークプロジェクト」 4.HDP2.5・Kafka・Spark 5.結論 “On Happiness” 46
  • 47. (C) Recruit Technologies Co.,Ltd. All rights reserved. 我々が今目指している環境について 47 Analysis Ops Engineering Study Idea try Scientist
  • 48. (C) Recruit Technologies Co.,Ltd. All rights reserved. Workflow Change : Happy Analytics Before: After: 48 .Jar Scientist Scientist HBase Hive Oracle sqoop “accessible data” • 実験 • 生産性 • 共同作業 • 即時性/インタラクティブ性 Java ・・・
  • 49. (C) Recruit Technologies Co.,Ltd. All rights reserved. 最後に 49 Join, facebook 是非、データサイエンティストの働きやすい環境へ!