自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

雞蛋挺住體:及MapReduce矩陣分析

開(kāi)發(fā) 項(xiàng)目管理
兩個(gè)雞蛋:兩個(gè)軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來(lái)沒(méi)事。有座100層的建筑,要你用這兩個(gè)雞蛋以最少的次數(shù)確定哪一層是雞蛋可以安全落下的最高位置??梢运に閮蓚€(gè)雞蛋。

今日面試題:雞蛋挺住體

兩個(gè)雞蛋:兩個(gè)軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來(lái)沒(méi)事。有座100層的建筑,要你用這兩個(gè)雞蛋以最少的次數(shù)確定哪一層是雞蛋可以安全落下的最高位置??梢运に閮蓚€(gè)雞蛋。

MapReduce矩陣的分析

題目:

一個(gè)很大的2D矩陣,如果某點(diǎn)的值,由它周?chē)承c(diǎn)的值決定,例如下一時(shí)刻(i,j) 的值取當(dāng)前時(shí)刻它的8鄰點(diǎn)的平均,那么怎么用MapReduce來(lái)實(shí)現(xiàn)。

分析:

首先,讓我們以WordCount為例來(lái)解釋MapReduce是怎么工作的。

原始狀態(tài)下,輸入–Map — Shuffle — Reduce — 輸出 enter image description here

假設(shè)有如下的兩個(gè)文本文件來(lái)運(yùn)行WorkCount程序:

  1. Hello World Bye World     
  2. Hello Hadoop GoodBye Hadoop 

map數(shù)據(jù)輸入
Hadoop針對(duì)文本文件缺省使用LineRecordReader類(lèi)來(lái)實(shí)現(xiàn)讀取,一行一個(gè)key/value對(duì),key取偏移量,value為行內(nèi)容。

如下是map1的輸入數(shù)據(jù):

  1. Key1      Value1 
  2. 0         Hello World Bye World 

如下是map2的輸入數(shù)據(jù):

  1. Key1       Value1 
  2. 0          Hello Hadoop GoodBye Hadoop 

map輸出/combine輸入

如下是map1的輸出結(jié)果

  1. Key2        Value2 
  2. Hello        1 
  3. World        1 
  4. Bye          1 
  5. World        1 

如下是map2的輸出結(jié)果

  1. Key2        Value2 
  2. Hello          1 
  3. Hadoop         1 
  4. GoodBye        1 
  5. Hadoop         1 

combine輸出 Combiner類(lèi)實(shí)現(xiàn)將相同key的值合并起來(lái),它也是一個(gè)Reducer的實(shí)現(xiàn)。

如下是combine1的輸出

  1. Key2         Value2 
  2. Hello            1 
  3. World            2 
  4. Bye              1 

如下是combine2的輸出

  1. Key2          Value2 
  2. Hello            1 
  3. Hadoop           2 
  4. GoodBye          1 

combiner視業(yè)務(wù)情況來(lái)用,減少M(fèi)AP->REDUCE的數(shù)據(jù)傳輸,提高shuffle速度,就是在map中再做一次reduce操作。combiner使用的合適,可以在滿足業(yè)務(wù)的情況下提升job的速度,如果不合適,則將導(dǎo)致輸出的結(jié)果不正確。

對(duì)于wordcount來(lái)說(shuō),value就是一個(gè)疊加的數(shù)字,所以map一結(jié)束就可以進(jìn)行reduce的value疊加,而不必要等到所有的map結(jié)束再去進(jìn)行reduce的value疊加。

reduce輸出
Reducer類(lèi)實(shí)現(xiàn)將相同key的值合并起來(lái)。

如下是reduce的輸出

  1. Key2               Value2 
  2. Hello                2 
  3. World                2 
  4. Bye                  1 
  5. Hadoop               2 
  6. GoodBye              1 

即實(shí)現(xiàn)了WordCount的處理。

下圖是官方的流程圖:

enter image description here

有了這個(gè)基礎(chǔ)知識(shí),我們來(lái)看如何用MapReduce來(lái)解決上述問(wèn)題。

以下標(biāo)對(duì)作為map的key,遇到(i,j),生成(i-1,j-1),(i-1,j),etc,然后在reduce時(shí)merge相同的key,并計(jì)算value。

當(dāng)你理解了MapReduce的工作原理,是不是很簡(jiǎn)單?

原文鏈接:http://www.ituring.com.cn/article/49817

責(zé)任編輯:陳四芳 來(lái)源: 圖靈社區(qū)
相關(guān)推薦

2013-10-16 16:53:59

數(shù)組查找

2013-10-16 16:38:39

鏈表矩陣

2023-03-29 07:39:38

TikTok數(shù)據(jù)安全

2019-10-31 09:52:02

HadoopJava大數(shù)據(jù)

2016-12-12 12:37:45

結(jié)構(gòu)C代碼賦值

2016-05-09 10:16:14

MapReduce數(shù)據(jù)分析明星微博

2012-08-08 09:53:23

HadoopMapReduce

2013-12-17 09:52:13

pythonhadoopmapreduce

2014-01-07 14:04:13

HadoopMapReduce

2021-09-09 17:38:55

數(shù)據(jù)分析矩陣

2015-07-01 13:51:12

HadoopMapReduce數(shù)據(jù)分析

2013-09-18 09:27:57

2014-10-15 16:32:43

MapReducehadoop

2012-03-19 17:36:13

三星

2019-10-21 13:12:41

數(shù)據(jù)分析增強(qiáng)分析人工智能

2011-10-18 14:00:30

MapReduce分布式流式

2021-08-09 11:15:28

MybatisJavaSpring

2010-11-18 11:26:50

IT人
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)