CHAPTER 6 Map Reduce Outline Map Reduce Map

  • Slides: 15
Download presentation
CHAPTER 6 認識Map. Reduce

CHAPTER 6 認識Map. Reduce

Outline �什麼是Map. Reduce �Map. Reduce的運作原理 �Map. Reduce的特性 2

Outline �什麼是Map. Reduce �Map. Reduce的運作原理 �Map. Reduce的特性 2

什麼是Map. Reduce的運作原理 Map. Reduce的特性 3

什麼是Map. Reduce的運作原理 Map. Reduce的特性 3

什麼是Map. Reduce? �Map. Reduce是由Google所提 出的一套平行程式架構 Cloud Applications � 主要是用來處理大量資料 � 擁有可靠的容錯機制 �採用了類似Divide-and. Conquer的觀念 �啟發自函數編程中常用的

什麼是Map. Reduce? �Map. Reduce是由Google所提 出的一套平行程式架構 Cloud Applications � 主要是用來處理大量資料 � 擁有可靠的容錯機制 �採用了類似Divide-and. Conquer的觀念 �啟發自函數編程中常用的 �Map (映射)函數 �Reduce (化簡)函數 Map. Reduce Hbase Hadoop Distributed File System (HDFS) A Cluster of Machines 4

Nodes, Trackers, Tasks �Job. Tracker �運行在 Master node 上 �接受clients端發送的 作 �Task. Tracker �運行在

Nodes, Trackers, Tasks �Job. Tracker �運行在 Master node 上 �接受clients端發送的 作 �Task. Tracker �運行在 Slave nodes上 �獨立執行所分派的小 作 6

Map. Reduce 與<Key, Value>關係 Input Data Output Key 1 val Key 2 val …

Map. Reduce 與<Key, Value>關係 Input Data Output Key 1 val Key 2 val … … Map Input Select key Key 1 Output val val … Key values Reducer 7

Map. Reduce: High Level 8

Map. Reduce: High Level 8

什麼是Map. Reduce的運作原理 Map. Reduce的特性 9

什麼是Map. Reduce的運作原理 Map. Reduce的特性 9

Wordcount範例 Input Mapper Cat 1 Dog 1 Cat Dog Pig FIsh Mapper Output Merge

Wordcount範例 Input Mapper Cat 1 Dog 1 Cat Dog Pig FIsh Mapper Output Merge Cat 1 Pig 1 Cat [1 1] Pig [1 1] Reducer Cat 2 Pig 2 Dog FIsh 1 Dog[1] Fish [1 1] Reducer Dog 1 FIsh 2 Pig 1 FIsh 1 Cat Pig FIsh Sort/Copy Cat 1 Pig 1 11

Mapper流程 Hi Cloud say Hi (); Input Key xt) Cloud say Hi Te …

Mapper流程 Hi Cloud say Hi (); Input Key xt) Cloud say Hi Te … … Hi Cloud say Hi … … Hi (( /user/hadoop/input/hi va lue ). t o. S tri ng String. Tokenizer itr = new String. Tokenizer( line); itr itr itr while (itr. has. More. Tokens()) { word. set(itr. next. Token()); context. write(word, one); } Input Value <word, one> <Hi, 1> <Cloud, 1> <say, 1> <Hi, 1> 12

Reducer流程 <word, one> <Hi, 1 → 1> <Cloud, 1> <say, 1> Hi 1 1

Reducer流程 <word, one> <Hi, 1 → 1> <Cloud, 1> <say, 1> Hi 1 1 <key, result> <Hi, 2> <Cloud, 1> <say, 1> 13

什麼是Map. Reduce的運作原理 Map. Reduce的特性 14

什麼是Map. Reduce的運作原理 Map. Reduce的特性 14