Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Spark Streamingで作る、
つぶやきビッグデータのクローン
秋葉原IT戦略研究所
野田純一
2015.11.10
Overview
1.自己紹介
2.目的
3.Spark Streamingについて
4.検証サービス説明
5.Spark Streamingを使用したオンラインTwitter解析によるレコメンドシステム
「Mikasa」-三笠
6.まとめ
1. 自己紹介 野田純一
■結構前
Java2EEによる業務オペレーションシステム
■ちょっと前
Perl/Rubyでソーシャルゲーム フレームワー
ク開発
■最近
Hadoopでアドテク
Github: https://github.com/...
• Sparkについて少し執筆しました
• 「Software Design 2015年11月号」
• ConoHaを使ったHadoopクラスタの構成例と
SparkSQLをつかったデータ処理の実例が記載。
5
↓これが作りたい
2014 7月22日 NHK
3. Spark Streaming について
• Sparkサブシステムの一つでファイルからでなくリアルタイ
ムに流れてくるストリームソースに対しての集計を対象とし
ている。
• 直近1時間のツイート数を毎分集計する、直近3時間でアクセ
スが...
3. Spark Streaming ∼データソースについて
その他、ssc.socketTextStream(" localhost", 7777)
とするとローカルポートをソースにできるのでサーバーのログを流
し込んでリアルタイムにエラー、...
4. Spark Streamingを使用したオンライン
Twitter解析によるレコメンドシステム
「Mikasa」-三笠
https://github.com/AKB428/mikasa_ol
https://github.com/AKB4...
動画デモ
http://youtu.be/o6xq_RdNv6s
これがこのプレゼンを聞くと作れるようになります。
• Twitterストリームからデータを取得する。
• Twitter Streaming APIを使う。
• 400の検索キーワードが指定可能。
• Spark Stremingでリアルタイム集計を行う。
• 日本語文章を単語にわけて分解して集計
• 日本語を分解するため形態素解析ライブラリ
kuromojiを使う。
• アニメ作品など標準辞書にない単語はユーザー辞
書(CSV)を用意。
形態素解析ライブラリの必要性について
ユーザー辞書の必要性について
Spark Streamingによるウィンドウ集計の活用
Mikasaは直近5分、直近60分のデータ集計を毎
分行っている。(合計60*2=120回)
少ないソースコードで、ウィンドウ集計が可能。
• ソースコード
• https://github.com/AKB428/mikasa_ol/blob/
master/src/main/scala/mikasa.scala
画面デモ(直近5分を毎分集計)
(F1)2015年2期 TVアニメ http://tv-anime.xyz/5/
(F1)ラブライブ http://tv-anime.biz/5/
(F2)ラブライブ http://lovelive-net.co...
画面デモ(直近60分を毎分集計)
(F1)2015年2期 TVアニメ http://tv-anime.xyz/60/
(F1)ラブライブ http://tv-anime.biz/60/
(F2)ラブライブ http://lovelive-net...
画面デモ 過去の履歴キャプチャ
2015年7月22日
7月22日 ラブライブ 矢澤にこ 誕生日
24
25
2015年7月22日
過去のキャプチャ 今期(2015/夏期)のアニメ
26
実際の売上
27
デモ:リコメンドTwitterボット
https://twitter.com/Akihabaara_itso
https://twitter.com/AuctionMadoka
サーバーデモ
動作中のサーバーのコンソールを公開
ユーザー体験デモ(直近5分集計)携帯でアクセス!
(F1)2015年2期 TVアニメ http://tv-anime.xyz/5/
(F1)ラブライブ http://tv-anime.biz/5/
(F2)ラブライブ http://loveli...
ユーザー体験デモ(直近60分集計)携帯でアクセス
(F1)2015年2期 TVアニメ http://tv-anime.xyz/60/
(F1)ラブライブ http://tv-anime.biz/60/
(F2)ラブライブ http://love...
コミケやモーターショーのようなイベントの大型モ
ニタに展示するのが一番効果的です。
●各種イベントの公共モニタに提供中
オープンソースカンファレンス2015 Tokushima
(11月14日) 予定
オープンソースカンファレンス2015 Hi...
4. Spark Streaming ∼ソースコード補足
• TwitterUtilは実体はJavaのTwitterライブラリで
あるtwitter4j
• Twitter解析にはTwitterAPI特有のAPIレートリ
ミット、単一IPによる...
Mikasaインストールについて
インストールマニュアル
https://gist.github.com/AKB428/c30bc6a979e05fa3a022
• TwitterAPIとAmazonAPIのアカウントがあれば1時間でセット
ア...
• 10. まとめ
• Twitterストリームのリアルタイムな集計にSpark
Streamingは最適だった。(SQLだとデータを一度DB
に格納し日付系の長いSQLを打つ必要がある。)
• 日本語データを解析するためには形態素解析ライブラ...
秋葉原IT戦略研究所(同人ITサークルです)
コミケ出展します
C89 12/31 東ピ56b
Twitterデータ解析本配布予定
http://akibalab.info/
https://webcatalog.circle.ms/Circl...
ご清聴ありがとうございました
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Upcoming SlideShare
Loading in …5
×

Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)

1,430 views

Published on

日本Hadoopユーザー会主催の
Cloudera World Tokyo 2015 ライトニングトークセッション
で発表した「Spark Streamingで作る、つぶやきビッグデータのクローン」の資料です

Published in: Engineering
  • Be the first to comment

Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)

  1. 1. Spark Streamingで作る、 つぶやきビッグデータのクローン 秋葉原IT戦略研究所 野田純一 2015.11.10
  2. 2. Overview 1.自己紹介 2.目的 3.Spark Streamingについて 4.検証サービス説明 5.Spark Streamingを使用したオンラインTwitter解析によるレコメンドシステム 「Mikasa」-三笠 6.まとめ
  3. 3. 1. 自己紹介 野田純一 ■結構前 Java2EEによる業務オペレーションシステム ■ちょっと前 Perl/Rubyでソーシャルゲーム フレームワー ク開発 ■最近 Hadoopでアドテク Github: https://github.com/AKB428 Twitter: @n428dev Qiita: http://qiita.com/AKB428 Hatena: http://akb428.hatenablog.com/ 本部: http://akibalab.info/ Junichi Noda Larry Wall
  4. 4. • Sparkについて少し執筆しました • 「Software Design 2015年11月号」 • ConoHaを使ったHadoopクラスタの構成例と SparkSQLをつかったデータ処理の実例が記載。
  5. 5. 5 ↓これが作りたい 2014 7月22日 NHK
  6. 6. 3. Spark Streaming について • Sparkサブシステムの一つでファイルからでなくリアルタイ ムに流れてくるストリームソースに対しての集計を対象とし ている。 • 直近1時間のツイート数を毎分集計する、直近3時間でアクセ スが多いIPを集計する・・などのウィンドウ集計が可能。
  7. 7. 3. Spark Streaming ∼データソースについて その他、ssc.socketTextStream(" localhost", 7777) とするとローカルポートをソースにできるのでサーバーのログを流 し込んでリアルタイムにエラー、クラックIPの集計などが可能。
  8. 8. 4. Spark Streamingを使用したオンライン Twitter解析によるレコメンドシステム 「Mikasa」-三笠 https://github.com/AKB428/mikasa_ol https://github.com/AKB428/mikasa_rs
  9. 9. 動画デモ http://youtu.be/o6xq_RdNv6s これがこのプレゼンを聞くと作れるようになります。
  10. 10. • Twitterストリームからデータを取得する。 • Twitter Streaming APIを使う。 • 400の検索キーワードが指定可能。 • Spark Stremingでリアルタイム集計を行う。
  11. 11. • 日本語文章を単語にわけて分解して集計 • 日本語を分解するため形態素解析ライブラリ kuromojiを使う。 • アニメ作品など標準辞書にない単語はユーザー辞 書(CSV)を用意。
  12. 12. 形態素解析ライブラリの必要性について
  13. 13. ユーザー辞書の必要性について
  14. 14. Spark Streamingによるウィンドウ集計の活用 Mikasaは直近5分、直近60分のデータ集計を毎 分行っている。(合計60*2=120回) 少ないソースコードで、ウィンドウ集計が可能。
  15. 15. • ソースコード • https://github.com/AKB428/mikasa_ol/blob/ master/src/main/scala/mikasa.scala
  16. 16. 画面デモ(直近5分を毎分集計) (F1)2015年2期 TVアニメ http://tv-anime.xyz/5/ (F1)ラブライブ http://tv-anime.biz/5/ (F2)ラブライブ http://lovelive-net.com/5/ (F2)秋葉原 http://akiba-net.com/5/ (F2)関東TV番組 http://telev.net/5/ F1=ユーザー辞書に登録してある単語のみ集計 F2=ユーザー辞書外の単語も集計
  17. 17. 画面デモ(直近60分を毎分集計) (F1)2015年2期 TVアニメ http://tv-anime.xyz/60/ (F1)ラブライブ http://tv-anime.biz/60/ (F2)ラブライブ http://lovelive-net.com/60/ (F2)秋葉原 http://akiba-net.com/60/ (F2)関東TV番組 http://telev.net/60/ F1=ユーザー辞書に登録してある単語のみ集計 F2=ユーザー辞書外の単語も集計
  18. 18. 画面デモ 過去の履歴キャプチャ
  19. 19. 2015年7月22日 7月22日 ラブライブ 矢澤にこ 誕生日 24
  20. 20. 25 2015年7月22日
  21. 21. 過去のキャプチャ 今期(2015/夏期)のアニメ 26
  22. 22. 実際の売上 27
  23. 23. デモ:リコメンドTwitterボット https://twitter.com/Akihabaara_itso https://twitter.com/AuctionMadoka
  24. 24. サーバーデモ 動作中のサーバーのコンソールを公開
  25. 25. ユーザー体験デモ(直近5分集計)携帯でアクセス! (F1)2015年2期 TVアニメ http://tv-anime.xyz/5/ (F1)ラブライブ http://tv-anime.biz/5/ (F2)ラブライブ http://lovelive-net.com/5/ (F2)秋葉原 http://akiba-net.com/5/ (F2)関東TV番組 http://telev.net/5/ F1=ユーザー辞書に登録してある単語のみ集計 F2=ユーザー辞書外の単語も集計
  26. 26. ユーザー体験デモ(直近60分集計)携帯でアクセス (F1)2015年2期 TVアニメ http://tv-anime.xyz/60/ (F1)ラブライブ http://tv-anime.biz/60/ (F2)ラブライブ http://lovelive-net.com/60/ (F2)秋葉原 http://akiba-net.com/60/ (F2)関東TV番組 http://telev.net/60/ F1=ユーザー辞書に登録してある単語のみ集計 F2=ユーザー辞書外の単語も集計
  27. 27. コミケやモーターショーのようなイベントの大型モ ニタに展示するのが一番効果的です。 ●各種イベントの公共モニタに提供中 オープンソースカンファレンス2015 Tokushima (11月14日) 予定 オープンソースカンファレンス2015 Hiroshima (9月19日)  オープンソースカンファレンス2015 Shimane (8月22日) 
  28. 28. 4. Spark Streaming ∼ソースコード補足 • TwitterUtilは実体はJavaのTwitterライブラリで あるtwitter4j • Twitter解析にはTwitterAPI特有のAPIレートリ ミット、単一IPによる高負荷時のアクセス制 限があるので注意 • Twitter開発者アカウントには電話番号が必須 になったので気軽に開発はできなくなりつつ ある。
  29. 29. Mikasaインストールについて インストールマニュアル https://gist.github.com/AKB428/c30bc6a979e05fa3a022 • TwitterAPIとAmazonAPIのアカウントがあれば1時間でセット アップ完了。 • AmazonAPIはリコメンドしない場合は不要。 • TwitterAPIのアカウント取得も10分程度で可能。 Mikasa OL https://github.com/AKB428/mikasa_ol Mikasa RS https://github.com/AKB428/mikasa_rs
  30. 30. • 10. まとめ • Twitterストリームのリアルタイムな集計にSpark Streamingは最適だった。(SQLだとデータを一度DB に格納し日付系の長いSQLを打つ必要がある。) • 日本語データを解析するためには形態素解析ライブラ リの使い方の把握、ユーザー辞書のチューニング、デー タクレンジングが重要で、ある程度は時間がかかる。 • Hadoop界隈のトレンドは間違いなくSpark。クラスタ 設計をする場合はメモリに関しては潤沢に用意する必 要はある。・・が取り扱い幅が大きくないならスタン ドアロンでも十分。
  31. 31. 秋葉原IT戦略研究所(同人ITサークルです) コミケ出展します C89 12/31 東ピ56b Twitterデータ解析本配布予定 http://akibalab.info/ https://webcatalog.circle.ms/Circle/12302282/
  32. 32. ご清聴ありがとうございました

×