28
AWSRUBYで作る ビッグデータ解析の裏側 @srockstyle / Shohei Kobayashi Twitter : https://twitter.com/srockstyle Facebook : https://www.facebook.com/srockstyle Github : https://github.com/srockstyle

Awsとrubyで作るビッグデータ解析の裏側

Embed Size (px)

DESCRIPTION

第十七回Creators MeetUp 発表資料。

Citation preview

Page 1: Awsとrubyで作るビッグデータ解析の裏側

AWSとRUBYで作る ビッグデータ解析の裏側

@srockstyle / Shohei Kobayashi !

Twitter : https://twitter.com/srockstyle Facebook : https://www.facebook.com/srockstyle

Github : https://github.com/srockstyle

Page 2: Awsとrubyで作るビッグデータ解析の裏側

15 MINITE 収まるように

頑張ります

Page 3: Awsとrubyで作るビッグデータ解析の裏側

WHO ARE YOU? 「あんた誰や!?」

Page 4: Awsとrubyで作るビッグデータ解析の裏側

Shohei Kobayashi

Mind Palette.co.ltd.

Backend ServerSide Engineer

仕事はAWS,Ruby漬け

家ではPHP,Swift漬け

Page 5: Awsとrubyで作るビッグデータ解析の裏側

TODAY’S THEME スマホアプリの

データ解析インフラについて

Page 6: Awsとrubyで作るビッグデータ解析の裏側

SNAPEEEって?• 写真共有アプリから新しいメディアへと進化しているF1層の女性向けスマホアプリ。

• iOS版とAndroid版があるよ。

• この世に生を受けて四年目。

• 「カワイイを世界に届ける」がテーマ!

Page 7: Awsとrubyで作るビッグデータ解析の裏側

日本からアジアへ アジアから世界へ 世界進出のために蓄積されるビッグデータ解析は不可欠

JAPAN TAIWAN CHINA HONGKONG SINGAPOLE TAILAND ….AND MORE!

Page 8: Awsとrubyで作るビッグデータ解析の裏側

SNAPEEEのデータ解析基盤

Page 9: Awsとrubyで作るビッグデータ解析の裏側

データ解析周りの用語• データウェアハウス:集めたデータを入れておくところ

• データマート:解析結果をいれておくところ

• MapReduce:たくさんのコンピュータで巨大なデータを解析するプログラミングモデル。

Page 10: Awsとrubyで作るビッグデータ解析の裏側

見ての通りAWSばっかりだよ! AWS万歳!ヽ(‘ ∇‘ )ノ AWS万歳!ヽ(‘ ∇‘ )ノ AWS万歳!ヽ(‘ ∇‘ )ノ

Page 11: Awsとrubyで作るビッグデータ解析の裏側

解析基盤でAWSを選んだ理由

Page 12: Awsとrubyで作るビッグデータ解析の裏側

• 解析結果の格納・検索はRedshiftが超速い

• Hadoopクラスタとジョブの追加・構築・増減がAPI経由で楽に可能

• API経由でログの送信・解析・収納まで可能

Page 13: Awsとrubyで作るビッグデータ解析の裏側

それでこうなった

Page 14: Awsとrubyで作るビッグデータ解析の裏側

AWSまみれ

AWS様々

Page 15: Awsとrubyで作るビッグデータ解析の裏側

司令塔サーバの話

○こいつ

Page 16: Awsとrubyで作るビッグデータ解析の裏側

RUBY ON RAILS AND

AWS-SDK FOR RUBY

Page 17: Awsとrubyで作るビッグデータ解析の裏側

なんでRUBYを選んだか?

• 書いてて楽しいから

• Java、PHPもみんな書けたけど、JavaとPHPは書いてて数ヶ月で飽きたから(弊社エンジニア陣の主観

• Rails使っての開発効率の高さ!

• 全社でJavaからRubyへの移行を進めており、サーバ構築にChefの導入もあって言語の統一化を進めていきたかったから

Page 18: Awsとrubyで作るビッグデータ解析の裏側

ちょっと待った!

○あれっ……

Page 19: Awsとrubyで作るビッグデータ解析の裏側

Q:HADOOPってJAVAじゃね?MAP REDUCEって

JAVA以外使えないんじゃ……

Page 20: Awsとrubyで作るビッグデータ解析の裏側

そんなあなたに!

HADOOP-STREAMING がオススメ!

Page 21: Awsとrubyで作るビッグデータ解析の裏側

AWSで

HADOOP-STREAMING!• AWS-SDKからJob-Flowスクリプト流し込めばHadoop-

Streamingでデータ解析が可能。

• S3上にログの設置→Job実行までをRails内のバッチ処理で自動化。

• 標準入力/標準出力でHadoopとやりとりすればよいのでMapper&Reducerも全部Rubyスクリプト。

Page 22: Awsとrubyで作るビッグデータ解析の裏側

流れ

Page 23: Awsとrubyで作るビッグデータ解析の裏側

JOB FLOW設定

Page 24: Awsとrubyで作るビッグデータ解析の裏側

集計後データは……• S3の結果ファイルをRedShiftへ投入

• ダウンロードしたファイルをRで解析

• RedShift上のデータを別バッチで再利用&フロントエンドでRailsのActive Recordで呼び出してグラフ化!

Page 25: Awsとrubyで作るビッグデータ解析の裏側

おまけ

Page 26: Awsとrubyで作るビッグデータ解析の裏側

弊社ではエンジニア募集中だよ!

Ruby、Rails、AWS、iOS、Android、グロースハック

そんなのに興味あるひとはぜひお声かけください !

Twitterで@srockstyleまで!

Page 27: Awsとrubyで作るビッグデータ解析の裏側

RAILS GIRLも大歓迎!

F1層の女性向けアプリなので

女子のハートがわかるRails Girlも大募集です!

!

!

Twitterで@srockstyleまで!

Page 28: Awsとrubyで作るビッグデータ解析の裏側

ご清聴ありがとうございました!

「“カワイイ”を世界に」