成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何簡(jiǎn)單解釋 MapReduce 算法

開發(fā) 后端 算法
在Hackbright做導(dǎo)師期間,我被要求向技術(shù)背景有限的學(xué)生解釋MapReduce算法,于是我想出了一個(gè)有趣的例子,用以闡釋它是如何工作的。

在Hackbright做導(dǎo)師期間,我被要求向技術(shù)背景有限的學(xué)生解釋MapReduce算法,于是我想出了一個(gè)有趣的例子,用以闡釋它是如何工作的。

MapReduce算法例子

你想數(shù)出一摞牌中有多少?gòu)埡谔摇V庇^方式是一張一張檢查并且數(shù)出有多少?gòu)埵呛谔摇?/p>

MapReduce方法則是:

1.給在座的所有玩家中分配這摞牌

2.讓每個(gè)玩家數(shù)自己手中的牌有幾張是黑桃,然后把這個(gè)數(shù)目匯報(bào)給你

3.你把所有玩家告訴你的數(shù)字加起來,得到***的結(jié)論

MapReduce算法背景

谷歌在2004年發(fā)表了可以分析大量數(shù)據(jù)的MapReduce算法。每當(dāng)你聽到“大數(shù)據(jù)”這個(gè)詞時(shí),它指的是因?yàn)樘蠖寖H僅一臺(tái)機(jī)器難以有效存儲(chǔ)或分析的問題。MapReduce通過把計(jì)算量分配給不同的計(jì)算機(jī)群,能夠解決大部分和大數(shù)據(jù)有關(guān)的分析問題。Hadoop提供了***的利用MapReduce算法來管理大數(shù)據(jù)的開源方式。現(xiàn)今MapReduce是主流。

所以通常來說,每當(dāng)你聽到“大數(shù)據(jù)”,那也許意味著Hadoop被用來存儲(chǔ)數(shù)據(jù),也通常意味著數(shù)據(jù)的抽取和檢索是用的MapReduce。

拆分MapReduce算法

MapReduce合并了兩種經(jīng)典函數(shù):

映射(Mapping)對(duì)集合里的每個(gè)目標(biāo)應(yīng)用同一個(gè)操作。即,如果你想把表單里每個(gè)單元格乘以二,那么把這個(gè)函數(shù)單獨(dú)地應(yīng)用在每個(gè)單元格上的操作就屬于mapping。

化簡(jiǎn)(Reducing )遍歷集合中的元素來返回一個(gè)綜合的結(jié)果。即,輸出表單里一列數(shù)字的和這個(gè)任務(wù)屬于reducing。

重新審視上面的MapReduce算法例子

重新審視我們?cè)瓉砟莻€(gè)分散紙牌的例子,我們有MapReduce數(shù)據(jù)分析的基本方法。友情提示:這不是個(gè)嚴(yán)謹(jǐn)?shù)睦印T谶@個(gè)例子里,人代表計(jì)算機(jī),因?yàn)樗麄兺瑫r(shí)工作,所以他們是個(gè)集群。在大多數(shù)實(shí)際應(yīng)用中,我們假設(shè)數(shù)據(jù)已經(jīng)在每臺(tái)計(jì)算機(jī)上了 – 也就是說把牌分發(fā)出去并不是MapReduce的一步。(事實(shí)上,在計(jì)算機(jī)集群中如何存儲(chǔ)文件是Hadoop的真正核心。)

通過把牌分給多個(gè)玩家并且讓他們各自數(shù)數(shù),你就在并行執(zhí)行運(yùn)算,因?yàn)槊總€(gè)玩家都在同時(shí)計(jì)數(shù)。這同時(shí)把這項(xiàng)工作變成了分布式的,因?yàn)槎鄠€(gè)不同的人在解決同一個(gè)問題的過程中并不需要知道他們的鄰居在干什么。

通過告訴每個(gè)人去數(shù)數(shù),你對(duì)一項(xiàng)檢查每張牌的任務(wù)進(jìn)行了映射。 你不會(huì)讓他們把黑桃牌遞給你,而是讓他們把你想要的東西化簡(jiǎn)為一個(gè)數(shù)字。

另外一個(gè)有意思的情況是牌分配得有多均勻。MapReduce假設(shè)數(shù)據(jù)是洗過的shuffled)- 如果所有黑桃都分到了一個(gè)人手上,那他數(shù)牌的過程可能比其他人要慢很多。

如果有足夠的人的話,問一些更有趣的問題就相當(dāng)簡(jiǎn)單了 - 比如“一摞牌的平均值(二十一點(diǎn)算法)是什么”。你可以通過合并“所有牌的值的和是什么”及“我們有多少?gòu)埮?rdquo;這兩個(gè)問題來得到答案。用這個(gè)和除以牌的張數(shù)就得到了平均值。

對(duì)MapReduce算法的結(jié)論

MapReduce算法的機(jī)制要遠(yuǎn)比這復(fù)雜得多,但是主體思想是一致的 – 通過分散計(jì)算來分析大量數(shù)據(jù)。無論是Facebook、NASA,還是小創(chuàng)業(yè)公司,MapReduce都是目前分析互聯(lián)網(wǎng)級(jí)別數(shù)據(jù)的主流方法。有趣的是,MapReduce在多于10PB數(shù)據(jù)時(shí)趨向于變慢,所以谷歌在他們今年的IO大會(huì)上報(bào)告稱MapReduce已經(jīng)不夠他們用了。

 

 

 

責(zé)任編輯:張偉 來源: 程序師
相關(guān)推薦

2017-03-28 20:35:12

MapReduce編程函數(shù)

2010-06-03 16:32:09

Hadoop MapR

2021-04-29 21:06:49

有序數(shù)組算法

2015-03-03 10:52:48

TCPIP

2020-05-13 16:54:05

JavaScript開發(fā)代碼

2009-12-18 10:09:38

2018-08-26 05:38:44

路由器調(diào)制解調(diào)器網(wǎng)絡(luò)設(shè)備

2020-04-16 09:54:39

JavaScript前端技術(shù)

2009-08-06 10:55:46

C#代碼解釋器

2014-03-17 15:28:48

MapReduce

2020-10-13 14:27:11

算法可視化路線

2021-04-30 16:54:27

分散式應(yīng)用程序

2017-01-05 15:13:03

Java數(shù)組算法解釋

2013-04-25 09:55:21

進(jìn)程線程

2019-10-21 09:57:05

多云混合云云計(jì)算

2023-03-07 16:48:54

算法可解釋性

2022-10-13 08:08:40

解釋器模式算法

2022-04-13 15:10:22

AI決策

2020-07-13 23:25:14

物聯(lián)網(wǎng)傳感器技術(shù)

2019-09-18 15:09:50

進(jìn)程線程操作系統(tǒng)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲成人久久久 | 欧美日一区二区 | 91在线看片| 欧洲亚洲精品久久久久 | 九九在线| 国产精品久久久久久久久久 | 婷婷久久网 | 国产精品久久久久久久久久久久 | 日本三级做a全过程在线观看 | 在线日韩 | 久久久91精品国产一区二区三区 | 日日操视频 | 影视一区 | 天堂综合网久久 | 影音先锋中文字幕在线观看 | 欧美午夜精品久久久久免费视 | 91久久| 日本欧美在线观看视频 | 久草福利 | 国产视频第一页 | 欧美精品在欧美一区二区少妇 | 国产午夜影院 | 中文在线播放 | www.黄网 | 午夜国产羞羞视频免费网站 | 日韩电影免费在线观看中文字幕 | 国产精品乱码一区二三区小蝌蚪 | 麻豆一区一区三区四区 | 国产精品日韩一区 | 亚洲精品一区国语对白 | 精品成人在线观看 | 国产精品视频播放 | 日韩一区二区免费视频 | 欧美精品1区2区 | 免费国产视频 | 天天曰夜夜操 | 综合九九 | 日韩精品久久久久 | 国产精品揄拍一区二区 | 日韩av一区二区在线观看 | 亚洲在线一区二区三区 |