Soumettre la recherche
Mettre en ligne
TinyMapReduce on ruby
•
3 j'aime
•
708 vues
K
Kazuki MATSUMOTO
Suivre
TinyMapReduce on ruby
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 20
Recommandé
ActiveResourceが面白すぎる件
ActiveResourceが面白すぎる件
Kazuki MATSUMOTO
多次元配列の効率的利用法の検討
多次元配列の効率的利用法の検討
Yu Sato
MapReduce基礎
MapReduce基礎
Joongjin Bae
GPGPUを用いた大規模高速グラフ処理に向けて
GPGPUを用いた大規模高速グラフ処理に向けて
Koichi Shirahata
PL/CUDA - GPU Accelerated In-Database Analytics
PL/CUDA - GPU Accelerated In-Database Analytics
Kohei KaiGai
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
Kohei KaiGai
Tokyo r27
Tokyo r27
Takashi Minoda
Recommandé
ActiveResourceが面白すぎる件
ActiveResourceが面白すぎる件
Kazuki MATSUMOTO
多次元配列の効率的利用法の検討
多次元配列の効率的利用法の検討
Yu Sato
MapReduce基礎
MapReduce基礎
Joongjin Bae
GPGPUを用いた大規模高速グラフ処理に向けて
GPGPUを用いた大規模高速グラフ処理に向けて
Koichi Shirahata
PL/CUDA - GPU Accelerated In-Database Analytics
PL/CUDA - GPU Accelerated In-Database Analytics
Kohei KaiGai
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
Kohei KaiGai
Tokyo r27
Tokyo r27
Takashi Minoda
BigQuery読書会#2資料
BigQuery読書会#2資料
SATOSHI TAGOMORI
SQLマッピングフレームワーク「Kobati」のはなし
SQLマッピングフレームワーク「Kobati」のはなし
Kazuki Minamitani
Code iq×japanr 公開用
Code iq×japanr 公開用
Nobuaki Oshiro
MapReduce入門
MapReduce入門
Satoshi Noto
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
Toru Tamaki
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension
Toshi Harada
Tokyo r 25_lt_isobe
Tokyo r 25_lt_isobe
Masayuki Isobe
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
Insight Technology, Inc.
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom
Kohei KaiGai
Scala on Hadoop
Scala on Hadoop
Shinji Tanaka
OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門
Shinichi YAMASHITA
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
NTT DATA OSS Professional Services
20181110 fok2018-pg-extension
20181110 fok2018-pg-extension
Toshi Harada
20130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT77
nkt77
GraphX によるグラフ分析処理の実例と入門
GraphX によるグラフ分析処理の実例と入門
鉄平 土佐
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Kazuya Wada
クラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチ
Tomoharu ASAMI
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
RAPIDS 概要
RAPIDS 概要
NVIDIA Japan
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
Shigeru Hanada
Contenu connexe
Similaire à TinyMapReduce on ruby
BigQuery読書会#2資料
BigQuery読書会#2資料
SATOSHI TAGOMORI
SQLマッピングフレームワーク「Kobati」のはなし
SQLマッピングフレームワーク「Kobati」のはなし
Kazuki Minamitani
Code iq×japanr 公開用
Code iq×japanr 公開用
Nobuaki Oshiro
MapReduce入門
MapReduce入門
Satoshi Noto
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
Toru Tamaki
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension
Toshi Harada
Tokyo r 25_lt_isobe
Tokyo r 25_lt_isobe
Masayuki Isobe
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
Insight Technology, Inc.
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom
Kohei KaiGai
Scala on Hadoop
Scala on Hadoop
Shinji Tanaka
OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門
Shinichi YAMASHITA
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
NTT DATA OSS Professional Services
20181110 fok2018-pg-extension
20181110 fok2018-pg-extension
Toshi Harada
20130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT77
nkt77
GraphX によるグラフ分析処理の実例と入門
GraphX によるグラフ分析処理の実例と入門
鉄平 土佐
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Kazuya Wada
クラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチ
Tomoharu ASAMI
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
RAPIDS 概要
RAPIDS 概要
NVIDIA Japan
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
Shigeru Hanada
Similaire à TinyMapReduce on ruby
(20)
BigQuery読書会#2資料
BigQuery読書会#2資料
SQLマッピングフレームワーク「Kobati」のはなし
SQLマッピングフレームワーク「Kobati」のはなし
Code iq×japanr 公開用
Code iq×japanr 公開用
MapReduce入門
MapReduce入門
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension
Tokyo r 25_lt_isobe
Tokyo r 25_lt_isobe
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom
Scala on Hadoop
Scala on Hadoop
OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
20181110 fok2018-pg-extension
20181110 fok2018-pg-extension
20130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT77
GraphX によるグラフ分析処理の実例と入門
GraphX によるグラフ分析処理の実例と入門
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
クラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチ
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
RAPIDS 概要
RAPIDS 概要
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
TinyMapReduce on ruby
1.
KVSをWebアプリのメインストレージにしたら、集計バッチをMapReduceでやるはめになったでござるの巻 松本 一輝
Lang-8, Inc.
2.
TinyMapReduce DRuby上で動く原始的なMapReduceのサンプル 200行くらい
対障害性ゼロ Lang-8でサイトデータ等の分析に使用 http://github.com/kazuki-m/TinyMapReduce
3.
MapReduce? 膨大なデータ群に対して、ユーザが定義するMap関数、Combiner関数、Reduce関数を適用するためのフレームワーク データを細かく分割することにより、並列実行が可能。リニアにスケールする
Googleの中の人が発案
4.
MapReduce 概要 例:1~11までの自然数に含まれる2の倍数および3の倍数の個数をカウントする。
[1,2,3,4,5,6,7,8,9,10,11] 分割数 M=3 [1,2,3,4] [9,10,11] [5,6,7,8]
5.
Map関数:Value->Hash 1
, 2 , 3 , 4 { } , { “2の倍数” => 1 } , { “3の倍数” => 1 } , { “2の倍数” => 1 } 5 , 6 , 7 , 8 { } , { “2の倍数” => 1 , “3の倍数” => 1 } , { } , { “2の倍数” => 1 } 9, 10, 11 {“3の倍数” => 1}, {“2の倍数” => 1} , { }
6.
Combiner関数:HashのArray->Hash [ {
} , { “2の倍数” => 1 } , { “3の倍数” => 1 } , { “2の倍数” => 1 } ] { “2の倍数” => 2 , “3の倍数” => 1 } [{ } , { “2の倍数” => 1 } , { “3の倍数” => 1 } , { “2の倍数” => 1 } ] { “2の倍数” => 2 , “3の倍数” => 1 } [ {“3の倍数” => 1}, {“2の倍数” => 1} , { } ] { “3の倍数” => 1, “2の倍数” => 1 }
7.
Reduce関数:Array -> Value
Key:“2の倍数” [ 2,2,1] -> 5 Key:“3の倍数” [ 1,1 ,1] -> 3
8.
MapReduceの何が嬉しいのか 一見、まわりくどい (シングルマシンで実行したときの
効率はとても悪い) しかし、リニアにスケールする
9.
MapReduce 構成
Master Worker Worker Worker Worker Worker Worker Worker 入力データ
10.
Masterが指令 Master
Worker Worker Worker Worker Worker Worker Worker 入力データ
11.
入力データを分割取得 Master Worker
Worker Worker Worker Worker Worker Worker #2 #m #1 ・・・ 入力データ
12.
Map/Combiner関数を適用・中間結果出力 Master Worker
Worker Worker Worker Worker Worker Worker #2 #m #1 ・・・ 中間データ 入力データ
13.
Shuffle: 同じKeyを寄せ集め Master
Worker Worker Worker Worker Worker Worker Worker 中間データ #2 #m #1 ・・・ 入力データ
14.
中間データを分割取得 Master Worker
Worker Worker Worker Worker Worker Worker #2 #r #1 #2 #m #1 ・・・ ・・・ 中間データ 入力データ
15.
Reduce関数を適用・結果を出力 Master Worker
Worker Worker Worker Worker Worker Worker #1… #2 #r #1 #2 #m #1 ・・・ ・・・ 中間データ 入力データ 出力データ
16.
DEMO
17.
RDBからKVSへ レコードがスキーマレスになる ->
プライマリキーでしか叩けない ->SQLで集計プログラムを作れない MapReduceの採用により、 DWHに匹敵する分析力を 分散KVS上で実現可能
18.
長所 高速(IOがボトルネックにならない) ※MapReduceは分散KVSとセットで
運用しないと(あまり)意味がない。 (Fairy& Roma、 MapReduce & GFS/BigTable 等) 集計プログラムの作成が容易
19.
短所 インフラ準備に手間がかかる
20.
まとめ ☆ チン マチクタビレタ~ マチクタビレタ~
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・) < Fairyまだ~? \_/⊂ ⊂_ ) \________ / ̄ ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | 愛媛みかん |/