SlideShare a Scribd company logo
1 of 14
Spark x Solrによるリアルタイムト
レンド抽出の具体的手法
飛び込み用
今作った
R&Dちーむ: tanaka.yuichi
自己紹介とか
金融系・組み込み系・コミュニティサービス・ゲーム・広告等の各システムを経てDMMへ。
DMM.comラボにおいて、検索システムの刷新、レコメンドエンジンの新規開発など、基
盤技術の開発を担当しております。
サーバーサイド、フロントエンド、ミドルウェア、インフラと領域問わず、提案から構築・実
装まで幅広くやらせてもらっています。その他OSSのcontributor等もやっております。
株式会社 DMM.comラボ
CTO室
CTO室ってなんだ?
新しい技術の取り込み
研究開発とか
技術サポートとか
対外活動とか
どんな事やってるのかの話
取り組みのコンセプト
ユーザーの行動ログや商品データ、ソーシャルデータからニーズ
にマッチした商品・広告・コンテンツの提供を行う
売り上げの最大化・パイの最大化・隠れた需要の掘り起こし
大規模データの解析・機械学習によるデータを元にしたアプローチ
前段
ミッション
やる事
リアルタイムレコメンドのおさらい
リアルタイムレコメンドのおさらい
今回主につかったもの
• Apache Spark
• SparkStreaming
• GraphX
• SparkMLlib
• Apache Solr
Sparkの丁寧な説明
Apache Spark?
高速に大規模データ処理を行うエンジン
SparkCoreについての説明
Cluster Manager
Yarn
Mesos
Data Source
Stream
HDFS
SparkRDDsの説明
SparkではRDDsという単位でデータを扱います。
val test = sc.textFile("/tmp/sample.txt")
これRDD
test.count このRDDに対して
count
take
collect
map
filter
といった処理を行います
SparkDStreamの説明
RDDsのまとまりをDStreamとして扱います
RDDと似た関数を持っていて、下記のようなStreamデータを
n秒で分けてバッチ処理をする仕組み
SparkStreamingのWindowOperation説明
Tweet10
Tweet9
Tweet8
Tweet7
Tweet6
Tweet5
Tweet4
Tweet3
Tweet2
Tweet1
時間
DStream
1秒
DStream
2秒
DStream
3秒
DStream
4秒
DStream
まとめ
Sparkで問題になりやすい部分
1. 完全に分散処理させるためのハードルが高い(アーキテクト的に)
1. HDFS、YARNの構築・設定が終わってる事前提
2. Sparkのrequirementだけじゃなくてトータルで考える必要がある
3. メモリ馬鹿喰いする
2. プログラムが作り辛い
1. Standalonモードだと分散処理にしたとき転ける事が多い
2. yarn-clientモードでもdriverをclusterにしたときに転けたりする
3. じゃぁ、分散でやれば良いかと言うと、分散するとデバッグが難しい
SparkStreamingで問題になりやすい部分
1. 途中で止める方法がない
1. 通常のSparkプログラムとCluster上での動作が違う
2. graceful-stopはプログラム側で実装しないとダメ
3. Streamingの性質上、データロストの対策を考えないとダメ
4. プログラムの差し替えの方法を考えないとダメ
5. どうやって運用するかは課題が山積み
以上

More Related Content

Similar to リアルタイムトレンド抽出飛び込み用

楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップSatoshi Maemoto
 
Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話ToshiharuSakai
 
2018/3/23 Introduction to Deep Learning by Neural Network Console
2018/3/23 Introduction to Deep Learning by Neural Network Console2018/3/23 Introduction to Deep Learning by Neural Network Console
2018/3/23 Introduction to Deep Learning by Neural Network ConsoleSony Network Communications Inc.
 
世界を変える先端Itテクノロジー
世界を変える先端Itテクノロジー世界を変える先端Itテクノロジー
世界を変える先端ItテクノロジーSatoshi Maemoto
 
クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側Tomotsune Murata
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
クラッシュフィーバーのシステム構成
クラッシュフィーバーのシステム構成クラッシュフィーバーのシステム構成
クラッシュフィーバーのシステム構成Tomotsune Murata
 
EXE #3: AIを協力して作成するDapp
EXE #3: AIを協力して作成するDappEXE #3: AIを協力して作成するDapp
EXE #3: AIを協力して作成するDappblockchainexe
 
xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識Satoshi Maemoto
 
ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方
ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方
ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方Hisahiko Shiraishi
 
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来Yoshihito Kuranuki
 
非エンジニアに人工知能に 興味を持ってもらう話
非エンジニアに人工知能に興味を持ってもらう話非エンジニアに人工知能に興味を持ってもらう話
非エンジニアに人工知能に 興味を持ってもらう話Satoru Mikami
 
モバイルが モーションセンサーに 出会ったら
モバイルがモーションセンサーに出会ったらモバイルがモーションセンサーに出会ったら
モバイルが モーションセンサーに 出会ったらAkira Hatsune
 
20160820 ソラコム主催ハンズオン LT資料
20160820 ソラコム主催ハンズオン LT資料20160820 ソラコム主催ハンズオン LT資料
20160820 ソラコム主催ハンズオン LT資料Toru Murasawa
 
探検隊長が語るSoftLayerデザインパターン
探検隊長が語るSoftLayerデザインパターン探検隊長が語るSoftLayerデザインパターン
探検隊長が語るSoftLayerデザインパターンMaho Takara
 
2018/07/26 Game change by Deep Learning and tips to make a leap
2018/07/26 Game change by Deep Learning and tips to make a leap2018/07/26 Game change by Deep Learning and tips to make a leap
2018/07/26 Game change by Deep Learning and tips to make a leapSony Network Communications Inc.
 
第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料Naoki Shibata
 
[Heroku meetup LT] Salesforce1 Developers Community MAXの紹介
[Heroku meetup LT] Salesforce1 Developers Community MAXの紹介[Heroku meetup LT] Salesforce1 Developers Community MAXの紹介
[Heroku meetup LT] Salesforce1 Developers Community MAXの紹介Mitch Okamoto
 
LEANSTARTUPアンチパターン #devlove #leanstartup
LEANSTARTUPアンチパターン #devlove #leanstartupLEANSTARTUPアンチパターン #devlove #leanstartup
LEANSTARTUPアンチパターン #devlove #leanstartupItsuki Kuroda
 

Similar to リアルタイムトレンド抽出飛び込み用 (20)

楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ
 
Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話
 
2018/3/23 Introduction to Deep Learning by Neural Network Console
2018/3/23 Introduction to Deep Learning by Neural Network Console2018/3/23 Introduction to Deep Learning by Neural Network Console
2018/3/23 Introduction to Deep Learning by Neural Network Console
 
世界を変える先端Itテクノロジー
世界を変える先端Itテクノロジー世界を変える先端Itテクノロジー
世界を変える先端Itテクノロジー
 
クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
クラッシュフィーバーのシステム構成
クラッシュフィーバーのシステム構成クラッシュフィーバーのシステム構成
クラッシュフィーバーのシステム構成
 
EXE #3: AIを協力して作成するDapp
EXE #3: AIを協力して作成するDappEXE #3: AIを協力して作成するDapp
EXE #3: AIを協力して作成するDapp
 
What's TMCN?
What's TMCN?What's TMCN?
What's TMCN?
 
xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識
 
ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方
ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方
ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方
 
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来
 
非エンジニアに人工知能に 興味を持ってもらう話
非エンジニアに人工知能に興味を持ってもらう話非エンジニアに人工知能に興味を持ってもらう話
非エンジニアに人工知能に 興味を持ってもらう話
 
モバイルが モーションセンサーに 出会ったら
モバイルがモーションセンサーに出会ったらモバイルがモーションセンサーに出会ったら
モバイルが モーションセンサーに 出会ったら
 
20160820 ソラコム主催ハンズオン LT資料
20160820 ソラコム主催ハンズオン LT資料20160820 ソラコム主催ハンズオン LT資料
20160820 ソラコム主催ハンズオン LT資料
 
探検隊長が語るSoftLayerデザインパターン
探検隊長が語るSoftLayerデザインパターン探検隊長が語るSoftLayerデザインパターン
探検隊長が語るSoftLayerデザインパターン
 
2018/07/26 Game change by Deep Learning and tips to make a leap
2018/07/26 Game change by Deep Learning and tips to make a leap2018/07/26 Game change by Deep Learning and tips to make a leap
2018/07/26 Game change by Deep Learning and tips to make a leap
 
第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料
 
[Heroku meetup LT] Salesforce1 Developers Community MAXの紹介
[Heroku meetup LT] Salesforce1 Developers Community MAXの紹介[Heroku meetup LT] Salesforce1 Developers Community MAXの紹介
[Heroku meetup LT] Salesforce1 Developers Community MAXの紹介
 
LEANSTARTUPアンチパターン #devlove #leanstartup
LEANSTARTUPアンチパターン #devlove #leanstartupLEANSTARTUPアンチパターン #devlove #leanstartup
LEANSTARTUPアンチパターン #devlove #leanstartup
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

リアルタイムトレンド抽出飛び込み用

Editor's Notes

  1. ※赤字部分は軽く説明
  2. ※ここでmapreduceとの違いにも言及しておく