SlideShare a Scribd company logo
1 of 12
Download to read offline
RiakでのMap/Reduce
                        を学ぶ
                    For Beginner(自分を含む)
                     Riak Source Code Reading@東京
                              2012/12/11




2012年12月13日木曜日                                     1
お前誰よ(Who are you?)
         • @Masahito
         • Skeed Inc. 所属
         • Erlang初心者
         • この発表ではErlangのコードは全く出てき
                 ません(`・ω・´)キリッ




2012年12月13日木曜日                        2
MapReduceってなに?
          MapReduce は、巨大なデータセットを持つ高度に並列可能な問題に対して、
          多数のノードの集合であるクラスターを用いて並列処理させるためのフレー
          ムワークである。

          (Wikipedia / MapReduceより抜粋)




2012年12月13日木曜日                                      3
•   Map ステップ :


                 •   マスターノードは、入力データを受け取り、それをより細かい単
                     位に分割し、複数のワーカーノードに配置する。そして、各ワー
                     カーノードは、その細かい単位のデータを 処理し、処理結果を、
                     マスターノードへと返す。


             •   Reduce ステップ:


                 •   続いて、マスターノードが、Mapステップでの処理結果を集約
                     し、目的としていた問題に対する答え(結果)を何らかの方法に
                     よって出力する。


             •   (WikiPedia/ MapReduceより抜粋)




2012年12月13日木曜日                                        4
Riakではどうなの?
             • MapReduceはキーベースでないクエリを
                 実行するためのメソッドとして提供

             •   HTTP API / protobufs APIから実行可能




2012年12月13日木曜日                                    5
RiakでのMapReduce

             •   Mapは局所的なデータで並行実行

             •   Reduce はjobを受けたノードで並行実行

             •   Javascript MapReduce support

             •   Erlang MapReduce support




2012年12月13日木曜日                                  6
図で表すとこんな感じ




2012年12月13日木曜日                7
こういうときに有効

             • MapReduceしたいObjectがわかっている
                 場合(Bucket-keyのペアがわかっている)

             • keyだけではなくオブジェクトまたはそ
                 の一部をreturnしたい場合



2012年12月13日木曜日                              8
こういうのには向かない

             • 全バケットのデータを取得して解析し
                 たい場合(MapReduceはkeyのリストを使用している。keyのリス
                 トはクラスタ上で頻繁に使われる箇所に配置されている    )

             • どれくらい時間がかかるかの予測が必
                 要な場合



2012年12月13日木曜日                                          9
動作の説明
             •[                                            ]
                   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
参考
           •[            ] 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
参考
            •[   ひとりでやるRiak Advent Calendar 2012 day6 - MapReduceで遊んでみ

                 よう] http://kuenishi.hatenadiary.jp/entry/
                 2012/12/06/224532




2012年12月13日木曜日                                                           12

More Related Content

Similar to Riak map reduce for beginners

120529 railsとか勉強会v2
120529 railsとか勉強会v2120529 railsとか勉強会v2
120529 railsとか勉強会v2
Yoshiteru Toki
 
「ほげエンジニア」の定義について #operationcasual
「ほげエンジニア」の定義について #operationcasual「ほげエンジニア」の定義について #operationcasual
「ほげエンジニア」の定義について #operationcasual
SATOSHI TAGOMORI
 

Similar to Riak map reduce for beginners (20)

Spark shark
Spark sharkSpark shark
Spark shark
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
MapReduce基礎
MapReduce基礎MapReduce基礎
MapReduce基礎
 
OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門
 
OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門
 
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
 
日々進化するHadoopの 「いま」
日々進化するHadoopの 「いま」日々進化するHadoopの 「いま」
日々進化するHadoopの 「いま」
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
 
Learning spaerk chapter03
Learning spaerk chapter03Learning spaerk chapter03
Learning spaerk chapter03
 
Hadoop - OSC2010 Tokyo/Spring
Hadoop - OSC2010 Tokyo/SpringHadoop - OSC2010 Tokyo/Spring
Hadoop - OSC2010 Tokyo/Spring
 
120529 railsとか勉強会v2
120529 railsとか勉強会v2120529 railsとか勉強会v2
120529 railsとか勉強会v2
 
Hadoop loves H2
Hadoop loves H2Hadoop loves H2
Hadoop loves H2
 
「ほげエンジニア」の定義について #operationcasual
「ほげエンジニア」の定義について #operationcasual「ほげエンジニア」の定義について #operationcasual
「ほげエンジニア」の定義について #operationcasual
 
バージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティスバージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティス
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩
 
ウェブから情報をあつめる
ウェブから情報をあつめるウェブから情報をあつめる
ウェブから情報をあつめる
 
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
 
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationOSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentation
 
Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL
Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSLHadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL
Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL
 

More from masahitojp (16)

Python と型ヒントとその使い方
Python と型ヒントとその使い方Python と型ヒントとその使い方
Python と型ヒントとその使い方
 
Enjoy Type Hints and its benefits
Enjoy Type Hints and its benefitsEnjoy Type Hints and its benefits
Enjoy Type Hints and its benefits
 
Build a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless FrameworkBuild a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless Framework
 
Presentation kyushu-2018
Presentation kyushu-2018Presentation kyushu-2018
Presentation kyushu-2018
 
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonserverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
 
The Benefits of Type Hints
The Benefits of Type HintsThe Benefits of Type Hints
The Benefits of Type Hints
 
20170131 python3 6 PEP526
20170131 python3 6 PEP526 20170131 python3 6 PEP526
20170131 python3 6 PEP526
 
chat bot framework for Java8
chat bot framework for Java8chat bot framework for Java8
chat bot framework for Java8
 
Akka meetup 2014_sep
Akka meetup 2014_sepAkka meetup 2014_sep
Akka meetup 2014_sep
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
Pyconsg2014 pyston
Pyconsg2014 pystonPyconsg2014 pyston
Pyconsg2014 pyston
 
Pykonjp2014
Pykonjp2014Pykonjp2014
Pykonjp2014
 
Play2 translate 20120714
Play2 translate 20120714Play2 translate 20120714
Play2 translate 20120714
 
Play2の裏側
Play2の裏側Play2の裏側
Play2の裏側
 
Play!framework2.0 introduction
Play!framework2.0 introductionPlay!framework2.0 introduction
Play!framework2.0 introduction
 
5分で説明する Play! scala
5分で説明する Play! scala5分で説明する Play! scala
5分で説明する Play! scala
 

Recently uploaded

Recently uploaded (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

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