SlideShare a Scribd company logo
1 of 38
Download to read offline
/ 38
Sparkを活用したレコメンドエンジンの
パフォーマンスチューニング&自動化
ビッグデータ部 加嵜長門
2016年7月25日
夏真っ盛り!Spark + Python + Data Science祭り
/ 38
DMM.com ~総合エンターテイメントサイト
2
月間
25億PV
会員
1700万人
多様な
サービス
形態
/ 38
DMM.comの主な事業
3
動画配信
デジタル配信事業
電子書籍
AKB48
AKB48グループ劇場を独占配信
動画チャンネル
TBSオンデマンド、バンダイチャンネ
ルをはじめとした、映画・ドラマ、ア
ニメ、アイドル、バラエティーなどを
配信
ペーパーレスな読書スタイル
コミック、小説、写真集などの
電子書籍をPC、スマホで閲覧
ec系事業
無店舗型ネットレンタル
いろいろレンタルネット通販
DVD、CD、コミック、ゲーム、
ホビーなどをネットショッピン
グ
ネットで借りて、自宅へ届き、ポストへ返却
ブランドバッグ、デジカメから
季節モノまで
必要なものを必要な時にラクラ
クレンタル
/ 38
DMM.comの主な事業
4
オンラインゲーム事業 FX/CFD事業
オンライン英会話事業
充実のラインナップ
PC、スマホで遊べるオンラインゲーム
FX業界トップクラスの実績
自宅や外出先のスマホで英会話学習
/ 38
DMM.comの主な事業
5
.make /3Dプリント事業 ロボット事業
太陽光発電事業
ものつくりプラットフォーム
製造業の新しいカタチ
クリエイターが集う
ものつくりシェアスペース
MVNO事業
世界初のロボットキャリア
DMMではじめるロボットとの新
生活
格安SIM/スマホ販売
/ 38
DMM.comラボにおけるSpark活用の歴史
• Developers Summit 2015
• Sparkによるリアルタイムレコメンド
• http://event.shoeisha.jp/devsumi/20150219/session/642/
• プレスリリース
• Sparkを活用したアジアパシフィック初のレコメンド基盤実現
• http://www.cloudera.co.jp/customers/dmm.html
• Spark Conference Japan 2016
• Hive on Sparkを活用した高速データ分析
• 『詳解 Apache Spark』発売
• 8章 GraphX を担当
6
2015年2月
2015年9月
2016年2月
2016年4月
/ 38
Sparkを活用したレコメンドシステム導入実績
• DMM.comサービス内のレコメンド
• プラットフォームの共通モジュール
• 外部ASP
• 事業部独自実装
など多数
• Sparkを活用したレコメンド
• 2015年8月~
• 順次導入を進めている
7
13
168
/ 38
レコメンド導入の伸びを支えるシステム
8
230 CPUs
580 GB memory
360 CPUs
900 GB memory
13 168
x 13
x 1.5
x 1.3
レコメンド導入数
YARN リソース
処理時間/日
3h 4h
自動化
パフォーマンス
チューニング
/ 38
アジェンダ
• レコメンド導入の自動化
• レコメンドの基礎
• ユーザ・アイテムマトリクス
• レコメンドの分類
• データ処理の流れ
• チューニング
• 精度チューニングとパフォーマンスチューニング
• Sparkチューニング
• データの偏り
9
/ 38
アジェンダ
• レコメンド導入の自動化
• レコメンドの基礎
• ユーザ・アイテムマトリクス
• レコメンドの分類
• データ処理の流れ
• チューニング
• 精度チューニングとパフォーマンスチューニング
• Sparkチューニング
• データの偏り
10
/ 38
レコメンド導入の自動化
11
サービスに新しくレコメンドを1つ追加する場合
レコメンドの「レシピ」を書く(所要時間1分)
「レシピ」にしたがってテストを実行
ステージング環境
チューニング自動化
本番環境
テスト環境 要件テスト 性能テスト
精度テスト 結合テスト
リリース
テストで問題があれば…
/ 38
レコメンドの基礎 – 協調フィルタリング
12
対象ユーザ
閲覧中の商品
閲覧
他のユーザ
購入
購入
レコメンド
/ 38
協調フィルタリングのマトリクス表現
13
item
user
/ 38
ユーザ・アイテムマトリクス
1 2 3 4
1 1
2 1 1
3 1 1
4 1 1
14
item
user
/ 38
サービスごとのユーザ・アイテムマトリクス
• アイテム数、ユーザ数の規模や比率が異なる
• サービスの特徴に応じたチューニングが不可欠
15
サービス名 ユーザ数 アイテム数 特徴
サービスA 50,000 200,000 アイテム数が多い
サービスB 1,000,000 200
ユーザ数が多い
アイテム数は極端に少ない
サービスC 1,500,000 300,000 ユーザ数もアイテム数も多い
サービスD 100,000 4,000,000 アイテム数が極端に多い
/ 38
全サービス横断のユーザ・アイテムマトリクス
16
全サービスの
ユーザ
全サービスのアイテム
汎用的なデータ構造として、全
サービス横断の、巨大なユーザ・
アイテムマトリクスを作成
実態はHiveテーブル
レコメンドの要件に応じて、部分
空間を抽出する
HiveクエリのWHERE句で絞り込み
/ 38
全サービス横断のユーザ・アイテムマトリクス
17
サービスAの
ユーザ
サービスAのアイテム
サービスBの
ユーザ
サービスBのアイテム
サービスC&Dの
ユーザ
サービスCのアイテム サービスDのアイテム
サービス横断の
レコメンドも可能
/ 38
レコメンドの分類
• 巷のいろいろなレコメンドのカテゴリ
• DMMでは3種類に分類
• Ranking
• 任意の場所からアイテムをレコメンド
• UserToItem
• 人に対してアイテムをレコメンド
• ItemToItem
• アイテムに対してアイテムをレコメンド
18
サイトTOP
サービスTOP
アイテム
アイテム
アイテム
サービスTOP
アイテム
アイテム
アイテム
サービスTOP
アイテム
アイテム
アイテム
ECサイトの構造例
Ranking
ItemToItemUserToItem
/ 38
Ranking
19
item
user
アイテムごとに
スコア計算
/ 38
UserToItem
20
item
user
類似ユーザを
見つける
/ 38
ItemToItem
21
item
user
アイテム同士の
相関を計算
/ 38
レコメンドの分類例
22
レコメンドの説明 入力 出力 分類
あなたにおすすめの商品 ユーザID その人に似ているユー
ザが買った商品
UserToItem
この商品を買った人はこんな
商品も興味があります
商品ID 同時に買われた商品 ItemToItem
あなたの閲覧履歴からおすす
め
過去に閲覧したア
イテム
類似のアイテム ItemToItem
新着アイテム (時刻) 新着アイテム Ranking
地域別人気アイテム (位置情報) 人気アイテム Ranking
ユーザ属性(年齢・性別など)
に基づくおすすめ商品
(ユーザ属性) 人気アイテム Ranking
あなたにおすすめの友達 ユーザ 類似ユーザ UserToItem
/ 38
データ処理の流れ
23
Ranking
 対象データの抽出
 後段Spark処理のためのデータ整形
UserToItem ItemToItem
 機械学習
 ベクトル計算
 レコメンド計算結果をDBにエクスポート
Sparkではレコメンド計算だけを記述したい
データ整形は前段のHiveに任せる
/ 38
レコメンドの「レシピ」
24
{
"hive": {
"対象ユーザ、対象アイテムの条件": "サービスID、フロア条件など",
"レコメンド種類": "(Ranking, UserToItem, ItemToItem)",
"スコアの計算方法": ~,
},
"spark": {
"アルゴリズム": ~,
"パラメタ": ~,
"リソース設定": "メモリ、コア数、Executor数など",
},
"sqoop": {
"出力先": ~,
}
}
recommendXX.json5
/ 38
レコメンド導入の自動化 まとめ
• データの抽象化と汎用化
• 巨大なマトリクス構造
• レコメンドの種類を3タイプに抽象化
• 個別の設定やチューニング項目を設定ファイル化
• テスト・リリースの自動化
25
/ 38
アジェンダ
• レコメンド導入の自動化
• レコメンドの基礎
• ユーザ・アイテムマトリクス
• レコメンドの分類
• データ処理の流れ
• チューニング
• 精度チューニングとパフォーマンスチューニング
• Sparkチューニング
• データの偏り
26
/ 38
レコメンドのチューニング
27
チューニング
パフォーマンスチューニング
精度チューニング
 そもそも処理が失敗する場合
 処理はできるが時間がかかりすぎる場合
 定量的指標
Coverage, Mean Average Precision, B-pref, …
 定性的指標
ユーザテスト
最終的には、リリースしてみてABテストで改善していく
/ 38
パフォーマンスチューニング
• Sparkのパフォーマンスチューニング
• ボトルネックとなる箇所の特定
• データの偏りを解消
• リソースの調整
• 詳しくは以前の発表
「Hive on Spark を活用した高速データ分析」
• その他の項目を調整
• データ構造の改善
• ロジックの改善
• …etc.
28
/ 38
データの偏りはなぜ起こるか?
• データの偏り
• Skewed Data
• スケールフリーネットワーク
• 人気者はより人気者になりやすい
• 売れている商品はより売れやすい
• 例:ロングテール商品
• 分散処理の限界
• 全件ソートなど
29
https://en.wikipedia.org/wiki/Long_tail
ロングテール
上位20%の商品が売上の80%を占める
/ 38
データの偏り:ユーザ・アイテムマトリクスの例
user item score
1 1 1
2 1 1
2 3 1
3 1 1
3 2 1
4 1 1
4 4 1
30
1 1 1
3 1 1
4 4 1
2 3 1
3 2 1
2 1 1
4 1 1
マトリクスのRDD, Hiveテーブル表現
パーティショナーに
より分割されて保持
/ 38
Spark RDDで類似のユーザを探す
user item score
1 1 1
2 1 1
2 3 1
3 1 1
3 2 1
4 1 1
4 4 1
31
item (user, score)
1 (1, 1)
1 (2, 1)
3 (2, 1)
1 (3, 1)
2 (3, 1)
1 (4, 1)
4 (4, 4)
アイテムIDでJOINす
るため、アイテムID
をキーに変更
/ 38
item (user, score)
1 (1, 1)
1 (2, 1)
3 (2, 1)
1 (3, 1)
2 (3, 1)
1 (4, 1)
4 (4, 4)
Spark RDDで類似のユーザを探す
32
1 (1, 1)
1 (2, 1)
1 (3, 1)
1 (4, 1)
3 (2, 1)
2 (3, 1)
4 (4, 4)
同じアイテムIDの
データは同じブロッ
クに集められる
/ 38
自己結合時のデータの偏り
33
key value
key value
JOIN
Task
/ 38
データの偏りの解消
• パフォーマンスが数十倍改善することも
• 1分50秒 → 5秒
• 5時間 → 30分
• 3時間 → 3分
• 主な手法
• パーティショナーの最適化
• パーティション数の調整
• 外れ値の除外
• キーにSaltを加えた多段処理
34
/ 38
外れ値の除外
• 上限を設ける
• 評価アイテム数が多いユーザは、最新N件の評価アイテムのみ使う
• 1アイテムしか評価していないユーザは、モデルの計算処理から省く
• 分割する
• 評価が集中するアイテムのスコアを別枠で計算する
35
/ 38
キーにSaltを加えた多段処理
• 偏りの多いIDについて、ランダムなsaltを付与
• saltを加えたIDで処理した後、本来のIDで再度処理する
36
item
1
1
1
1
1
item-salt
1-001
1-002
1-002
1-003
1-003
item
1
1
1
1
1
/ 38
チューニング まとめ
• 精度チューニング
• リリース後にABテスト
• パフォーマンスチューニング
• ボトルネックとなる箇所の特定
• リソース調整の前に、データの偏り(skewed data)を解消する
• データの偏りがボトルネックになる場合、リソースを増やしても効果が薄い
• データの特性を見ながら調整
37
/ 38
今後の展望
• HiveとSparkの統合
• 設計当時、Sparkの処理はRDDベースだった
• データの整形やフィルタがHive(SQL)に比べ冗長だった
• DataFrames, DataSet, Pipelineの登場で、状況が変わった
• パフォーマンス・保守性向上のため、HiveとSparkは統合していきたい
• 行動ログに依存しないレコメンド
• コンテンツベース
• メディアデータの解析
• 画像、音声、動画、・・・
• Deep Learningの活用
38

More Related Content

What's hot

リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)Atsushi Kurumada
 
アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術hagino 3000
 
データファースト開発
データファースト開発データファースト開発
データファースト開発Katsunori Kanda
 
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~The Japan DataScientist Society
 
AI for Business - Microsoft AI Business summit 2018
AI for Business - Microsoft AI Business summit 2018AI for Business - Microsoft AI Business summit 2018
AI for Business - Microsoft AI Business summit 2018Daiyu Hatakeyama
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みRecruit Technologies
 
トレジャーデータ 導入体験記 リブセンス編
トレジャーデータ 導入体験記 リブセンス編トレジャーデータ 導入体験記 リブセンス編
トレジャーデータ 導入体験記 リブセンス編Kentaro Yoshida
 
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』dstn
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出Tetsutaro Watanabe
 
第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用
第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用 第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用
第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用 Daiyu Hatakeyama
 
データ分析プラットフォームの歩き方
データ分析プラットフォームの歩き方データ分析プラットフォームの歩き方
データ分析プラットフォームの歩き方Tomoyuki Oota
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...NTT DATA Technology & Innovation
 
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料Atsushi Tsuchiya
 
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料s. kaijima
 
Data Scientist Workbench 入門
Data Scientist Workbench 入門Data Scientist Workbench 入門
Data Scientist Workbench 入門soh kaijima
 
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)NTT DATA Technology & Innovation
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)NTT DATA OSS Professional Services
 
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...Insight Technology, Inc.
 

What's hot (20)

リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
 
アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術
 
データファースト開発
データファースト開発データファースト開発
データファースト開発
 
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
 
AI for Business - Microsoft AI Business summit 2018
AI for Business - Microsoft AI Business summit 2018AI for Business - Microsoft AI Business summit 2018
AI for Business - Microsoft AI Business summit 2018
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
 
Yahoo! JAPANを支えるビッグデータプラットフォーム技術
Yahoo! JAPANを支えるビッグデータプラットフォーム技術Yahoo! JAPANを支えるビッグデータプラットフォーム技術
Yahoo! JAPANを支えるビッグデータプラットフォーム技術
 
トレジャーデータ 導入体験記 リブセンス編
トレジャーデータ 導入体験記 リブセンス編トレジャーデータ 導入体験記 リブセンス編
トレジャーデータ 導入体験記 リブセンス編
 
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用
第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用 第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用
第三回 関西放送機器展 - Microsoft セッション - 放送・映像業界へのAI(Artificial Intelligence)の現実的な活用
 
データ分析プラットフォームの歩き方
データ分析プラットフォームの歩き方データ分析プラットフォームの歩き方
データ分析プラットフォームの歩き方
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
 
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
 
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料
 
Data Scientist Workbench 入門
Data Scientist Workbench 入門Data Scientist Workbench 入門
Data Scientist Workbench 入門
 
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
 

Viewers also liked

Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSCloudera Japan
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Tatsuya Atsumi
 
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話Yahoo!デベロッパーネットワーク
 
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016Tokoroten Nakayama
 
大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016Cloudera Japan
 
Hadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyHadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyRecruit Technologies
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16Yifeng Jiang
 
Top 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationsTop 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationshadooparchbook
 

Viewers also liked (9)

Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
 
Case Study: OLAP usability on Spark and Hadoop
Case Study: OLAP usability on Spark and HadoopCase Study: OLAP usability on Spark and Hadoop
Case Study: OLAP usability on Spark and Hadoop
 
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
 
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
 
大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016
 
Hadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyHadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit Company
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
 
Top 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationsTop 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applications
 

Similar to Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化

Deep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance TuningDeep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance TuningTakuya UESHIN
 
Spark Summit 2014 の報告と最近の取り組みについて
Spark Summit 2014 の報告と最近の取り組みについてSpark Summit 2014 の報告と最近の取り組みについて
Spark Summit 2014 の報告と最近の取り組みについてRecruit Technologies
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックKentaro Ebisawa
 
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐Rakuten Group, Inc.
 
2019.03.19 Deep Dive into Spark SQL with Advanced Performance Tuning
2019.03.19 Deep Dive into Spark SQL with Advanced Performance Tuning2019.03.19 Deep Dive into Spark SQL with Advanced Performance Tuning
2019.03.19 Deep Dive into Spark SQL with Advanced Performance TuningTakuya UESHIN
 
財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニングRyoji Yanashima
 
20120822_dstn技術交流会_DataSpider接続先技術動向
20120822_dstn技術交流会_DataSpider接続先技術動向20120822_dstn技術交流会_DataSpider接続先技術動向
20120822_dstn技術交流会_DataSpider接続先技術動向dstn
 
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Web Services Japan
 
Synapse lakedatabase
Synapse lakedatabaseSynapse lakedatabase
Synapse lakedatabaseRyoma Nagata
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~griddb
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようHideo Takagi
 
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例Junichi Noda
 
テレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティテレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティNVIDIA Japan
 
フューチャースタンダードCTO鈴木登壇 レバレジーズ「ヒカ☆ラボ」動画解析・IoT実践事例 (Jul. 4th, 2017)
フューチャースタンダードCTO鈴木登壇 レバレジーズ「ヒカ☆ラボ」動画解析・IoT実践事例 (Jul. 4th, 2017)フューチャースタンダードCTO鈴木登壇 レバレジーズ「ヒカ☆ラボ」動画解析・IoT実践事例 (Jul. 4th, 2017)
フューチャースタンダードCTO鈴木登壇 レバレジーズ「ヒカ☆ラボ」動画解析・IoT実践事例 (Jul. 4th, 2017)Future Standard
 
PGXのレスポンスとリソース消費
PGXのレスポンスとリソース消費PGXのレスポンスとリソース消費
PGXのレスポンスとリソース消費Tatsumi Akinori
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-LINE Corp.
 
プログラムの大海に溺れないために
プログラムの大海に溺れないためにプログラムの大海に溺れないために
プログラムの大海に溺れないためにZenji Kanzaki
 
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 201245分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012Yukio Saito
 

Similar to Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化 (20)

Deep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance TuningDeep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance Tuning
 
Spark Summit 2014 の報告と最近の取り組みについて
Spark Summit 2014 の報告と最近の取り組みについてSpark Summit 2014 の報告と最近の取り組みについて
Spark Summit 2014 の報告と最近の取り組みについて
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
 
2019.03.19 Deep Dive into Spark SQL with Advanced Performance Tuning
2019.03.19 Deep Dive into Spark SQL with Advanced Performance Tuning2019.03.19 Deep Dive into Spark SQL with Advanced Performance Tuning
2019.03.19 Deep Dive into Spark SQL with Advanced Performance Tuning
 
財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング
 
20120822_dstn技術交流会_DataSpider接続先技術動向
20120822_dstn技術交流会_DataSpider接続先技術動向20120822_dstn技術交流会_DataSpider接続先技術動向
20120822_dstn技術交流会_DataSpider接続先技術動向
 
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
 
Synapse lakedatabase
Synapse lakedatabaseSynapse lakedatabase
Synapse lakedatabase
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
 
Growing up serverless
Growing up serverlessGrowing up serverless
Growing up serverless
 
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
 
テレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティテレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティ
 
フューチャースタンダードCTO鈴木登壇 レバレジーズ「ヒカ☆ラボ」動画解析・IoT実践事例 (Jul. 4th, 2017)
フューチャースタンダードCTO鈴木登壇 レバレジーズ「ヒカ☆ラボ」動画解析・IoT実践事例 (Jul. 4th, 2017)フューチャースタンダードCTO鈴木登壇 レバレジーズ「ヒカ☆ラボ」動画解析・IoT実践事例 (Jul. 4th, 2017)
フューチャースタンダードCTO鈴木登壇 レバレジーズ「ヒカ☆ラボ」動画解析・IoT実践事例 (Jul. 4th, 2017)
 
PGXのレスポンスとリソース消費
PGXのレスポンスとリソース消費PGXのレスポンスとリソース消費
PGXのレスポンスとリソース消費
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
 
プログラムの大海に溺れないために
プログラムの大海に溺れないためにプログラムの大海に溺れないために
プログラムの大海に溺れないために
 
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 201245分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
 

More from Nagato Kasaki

20190712 polkadot japan meetup
20190712 polkadot japan meetup20190712 polkadot japan meetup
20190712 polkadot japan meetupNagato Kasaki
 
Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発Nagato Kasaki
 
暗号通貨輪読会 #20 bloXroute
暗号通貨輪読会 #20 bloXroute暗号通貨輪読会 #20 bloXroute
暗号通貨輪読会 #20 bloXrouteNagato Kasaki
 
ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!Nagato Kasaki
 
Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Nagato Kasaki
 
Spark GraphFrames のススメ
Spark GraphFrames のススメSpark GraphFrames のススメ
Spark GraphFrames のススメNagato Kasaki
 
Spark graph framesとopencypherによる分散グラフ処理の最新動向
Spark graph framesとopencypherによる分散グラフ処理の最新動向Spark graph framesとopencypherによる分散グラフ処理の最新動向
Spark graph framesとopencypherによる分散グラフ処理の最新動向Nagato Kasaki
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Nagato Kasaki
 

More from Nagato Kasaki (8)

20190712 polkadot japan meetup
20190712 polkadot japan meetup20190712 polkadot japan meetup
20190712 polkadot japan meetup
 
Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発
 
暗号通貨輪読会 #20 bloXroute
暗号通貨輪読会 #20 bloXroute暗号通貨輪読会 #20 bloXroute
暗号通貨輪読会 #20 bloXroute
 
ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!
 
Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析
 
Spark GraphFrames のススメ
Spark GraphFrames のススメSpark GraphFrames のススメ
Spark GraphFrames のススメ
 
Spark graph framesとopencypherによる分散グラフ処理の最新動向
Spark graph framesとopencypherによる分散グラフ処理の最新動向Spark graph framesとopencypherによる分散グラフ処理の最新動向
Spark graph framesとopencypherによる分散グラフ処理の最新動向
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
 

Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化