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.

MapReduceプログラミング入門

  • Be the first to comment

MapReduceプログラミング入門

  1. 1. MapReduce プログラミング⼊入⾨門 「DevLOVE  ⻩黄⾊色い象使いが、獄⻑⾧長に出会うまで。」   〜~象、邂逅編〜~   2011-‐‑‒05-‐‑‒11
  2. 2. 変更履歴 •2011/05/11 •新規作成。 •2011/09/20 •変更履歴を追加した。 •try-hadoop-mapreduce-javaへのリン クを追加した。 •MapReduce入門へのリンクを追加した。
  3. 3. n3104 •能登 諭(のと さとし) •Hadoop好きのJava使いです。 •twitter : @n3104 •株式会社トップゲート所属
  4. 4. 最初に このスライドは try-hadoop-mapreduce- java のソースについて解説している。 http://code.google.com/p/try-hadoop- mapreduce-java/
  5. 5. WordCount •MapReduceの基本 •Mapとは •Reduceとは •Combinerとは •旧APIと新API
  6. 6. MapReduceの基本 MapReduce入門参照 http://www.slideshare.net/n3104/ mapreduce-7587216
  7. 7. 旧APIと新API •0.20系から新APIが登場した。 •0.20系は移行途中で一部のAPIしか移行され ていない。0.21系は移行済み。 •周辺プロダクトやEMRは0.20系、つまり旧 APIにか対応していない。 •現状は旧APIを使うのが無難。
  8. 8. AverageAgeOf Employee •MapReduceの仕組みを再確認。 •MapperとReducerの出力の型が異なる場 合は設定が必要になる。 •Writableについて
  9. 9. Writable •Hadoopは独自のシリアライゼーションの仕 組みを持つ。 •象本の4章に詳しく載っている。 •無料ならひしだまさんのメモ参照。 •http://www.ne.jp/asahi/hishidama/home/tech/apache/ hadoop/Writable.html
  10. 10. 平均給与を求めてみましょう。
  11. 11. AverageAgeOf Department •Mapperの出力はkey毎にReducerでまと められる。 •Reducerの処理自体は AverageAgeOfEmployeeと同じ。key の型が異なるだけ。
  12. 12. 部門ごとの平均給与を 求めてみましょう。
  13. 13. SortByAgeUsing HashPartitioner •Mapperの出力がReducerの入力として渡 される際にkeyでソートされる。 •ソートには部分ソートと全体ソートがある。 •ソートの制御にはPartionerと WritableComparatorを利用する。
  14. 14. 給与でソートしてみましょう。
  15. 15. SortByAgeUsing TotalOrderPartitioner •全体ソートにはTotalOrder-Partitioner を利用する。 •InputSamplerを利用して実データをサン プリングする。 •サンプリングデータの配布には DistributedCacheを利用する。
  16. 16. SortByDeptAndAge UsingSecondarySort •複数のキーでソートするにはSecondary Sortを利用する。 •SortByDeptAndAgeUsing- Comparatorのように単一キーのソートで も実現可能。
  17. 17. MergeByDepartment UsingMultipleInputs •ジョインには複数の種類のファイルが必要。 MultipleInputsを利用することで単一の MapReduceジョブで複数の種類のファイル を同時に処理できる。
  18. 18. JoinWithDeptName UsingReduceSideJoin •Reduce-Side Joinは以下の2つを利用す る。 •MultipleInputs •Secondary Sort
  19. 19. テストについて •ユニットテスト •Hadoop徹底入門ではMRUnit。 •象本ではMockitoを紹介。 •象本はLocalJobRunnerなど色々紹介。 •まだ確認できてません^^;
  20. 20. 書籍について •Hadoop徹底入門はHadoopの入門書とし てとてもいい。 •象本はMapReduceプログラミングの入門 書としてとてもいい。 •実践的な内容だと「Data-Intensive Text Processing with MapReduce」?
  21. 21. これであなたも象使い(^^)

    Be the first to comment

    Login to see the comments

  • takelog3000

    May. 9, 2011
  • aquilegia_

    Oct. 10, 2011
  • txcdb738

    May. 28, 2016

Views

Total views

9,171

On Slideshare

0

From embeds

0

Number of embeds

1,327

Actions

Downloads

37

Shares

0

Comments

0

Likes

3

×