More Related Content
Similar to Riak map reduce for beginners (20)
More from masahitojp (16)
Riak map reduce for beginners
- 1. RiakでのMap/Reduce
を学ぶ
For Beginner(自分を含む)
Riak Source Code Reading@東京
2012/12/11
2012年12月13日木曜日 1
- 2. お前誰よ(Who are you?)
• @Masahito
• Skeed Inc. 所属
• Erlang初心者
• この発表ではErlangのコードは全く出てき
ません(`・ω・´)キリッ
2012年12月13日木曜日 2
- 3. MapReduceってなに?
MapReduce は、巨大なデータセットを持つ高度に並列可能な問題に対して、
多数のノードの集合であるクラスターを用いて並列処理させるためのフレー
ムワークである。
(Wikipedia / MapReduceより抜粋)
2012年12月13日木曜日 3
- 4. • Map ステップ :
• マスターノードは、入力データを受け取り、それをより細かい単
位に分割し、複数のワーカーノードに配置する。そして、各ワー
カーノードは、その細かい単位のデータを 処理し、処理結果を、
マスターノードへと返す。
• Reduce ステップ:
• 続いて、マスターノードが、Mapステップでの処理結果を集約
し、目的としていた問題に対する答え(結果)を何らかの方法に
よって出力する。
• (WikiPedia/ MapReduceより抜粋)
2012年12月13日木曜日 4
- 5. Riakではどうなの?
• MapReduceはキーベースでないクエリを
実行するためのメソッドとして提供
• HTTP API / protobufs APIから実行可能
2012年12月13日木曜日 5
- 6. RiakでのMapReduce
• Mapは局所的なデータで並行実行
• Reduce はjobを受けたノードで並行実行
• Javascript MapReduce support
• Erlang MapReduce support
2012年12月13日木曜日 6
- 8. こういうときに有効
• MapReduceしたいObjectがわかっている
場合(Bucket-keyのペアがわかっている)
• keyだけではなくオブジェクトまたはそ
の一部をreturnしたい場合
2012年12月13日木曜日 8
- 9. こういうのには向かない
• 全バケットのデータを取得して解析し
たい場合(MapReduceはkeyのリストを使用している。keyのリス
トはクラスタ上で頻繁に使われる箇所に配置されている )
• どれくらい時間がかかるかの予測が必
要な場合
2012年12月13日木曜日 9
- 10. 動作の説明
•[ ]
Loading Data and Running MapReduce (http://docs.basho.com/riak/
latest/tutorials/fast-track/Loading-Data-and-Running-MapReduce-Queries/)
の内容を説明
• 主にHTTP APIをcurlでたたくパターンで説明
2012年12月13日木曜日 10
- 11. 参考
•[ ] http://docs.basho.com/riak/latest/
MapReduce
tutorials/querying/MapReduce/
•[ ] http://
Loading Data and Running MapReduce
docs.basho.com/riak/latest/tutorials/fast-
track/Loading-Data-and-Running-
MapReduce-Queries/
2012年12月13日木曜日 11
- 12. 参考
•[ ひとりでやるRiak Advent Calendar 2012 day6 - MapReduceで遊んでみ
よう] http://kuenishi.hatenadiary.jp/entry/
2012/12/06/224532
2012年12月13日木曜日 12