日韩国产专区|国产视频精品久久久久不卡|亚洲性爱免费高清|jizz一区二区在线观看

首頁(yè) >服務(wù)支持 > 中企之家 > 程序員 > 帶你了解mapreduce

帶你了解mapreduce

帶你了解mapreduce

計(jì)算機(jī)編程是一門復(fù)雜的學(xué)問(wèn),但也不阻礙它仍有許多狂熱追求者。在編程中,會(huì)有很多編程模型。編程模型,可以簡(jiǎn)單地理解為模板,遇到相似問(wèn)題,程序員可以模板化解決,這樣就減輕了程序員的工作負(fù)擔(dān)。不同的編程環(huán)境和不同的應(yīng)用對(duì)象,會(huì)有對(duì)應(yīng)的不同的編程模型。今天我們來(lái)了解一下mapreduce這個(gè)編程模型,這是應(yīng)用于大規(guī)模數(shù)據(jù)集群的并行運(yùn)算。Map是映射,Reduce是化簡(jiǎn)。簡(jiǎn)單來(lái)說(shuō),這個(gè)模板的特性,是讓不會(huì)分布式并行編程的人員,可以將程序運(yùn)行在分布式系統(tǒng)上。

目錄

1. 如何簡(jiǎn)單的理解mapreduce的應(yīng)用

2. mapreduce的主要技術(shù)特征

3. mapreduce的其他技術(shù)特征

4. mapreduce和Spark的區(qū)別是什么

5. 初學(xué)mapreduce的常見問(wèn)題

  • 如何簡(jiǎn)單的理解mapreduce的應(yīng)用

    如何簡(jiǎn)單的理解mapreduce的應(yīng)用

    mapreduce的應(yīng)用理念其實(shí)很簡(jiǎn)單,就是把一些數(shù)據(jù)先通過(guò)map(映射)進(jìn)行歸類,再通過(guò)reducer把同一類的數(shù)據(jù)進(jìn)行化簡(jiǎn)處理。我們可以理解為,mapreduce是基于兩個(gè)哲學(xué)原理設(shè)計(jì)的,大而化小和異而化同。接收到很多復(fù)雜數(shù)據(jù),我們第一步就會(huì)先把數(shù)據(jù)分類,這就是異而化同。分類之后再進(jìn)行細(xì)項(xiàng)分割,把數(shù)據(jù)切分成小塊后,就可以并發(fā)或者批量處理了,這就是大而化小。map的工作就是分類數(shù)據(jù),然后輸出,reducer接收到的都是同類數(shù)據(jù)再進(jìn)行分割處理。

  • mapreduce的主要技術(shù)特征

    mapreduce的主要技術(shù)特征

    在了解過(guò)mapreduce的功能后,我們來(lái)了解一下mapreduce設(shè)計(jì)技術(shù)都有什么主要特征。1、因?yàn)閙apreduce需要進(jìn)行大規(guī)模的數(shù)據(jù)處理,并由大量的數(shù)據(jù)出錯(cuò)需求,所以在集群的構(gòu)建上,我們要選擇低端的商用服務(wù)器,由外橫向擴(kuò)展。2、使用的是低端的商用服務(wù)器,所以節(jié)點(diǎn)硬件失效是很常見的,因此設(shè)計(jì)的時(shí)候要考慮到不影響服務(wù)質(zhì)量的高容錯(cuò)計(jì)算系統(tǒng),并且在節(jié)點(diǎn)失效后能夠自動(dòng)加入加群。3、mapreduce會(huì)采用就近原則,將無(wú)法計(jì)算的數(shù)據(jù)轉(zhuǎn)移傳輸?shù)骄徒梢杂?jì)算的節(jié)點(diǎn),而不僅限于數(shù)據(jù)的處理。

  • mapreduce的其他技術(shù)特征

    mapreduce的其他技術(shù)特征

    除了剛才介紹的主要技術(shù)特征外,想要做好mapreduce設(shè)計(jì),還要處理好以下三個(gè)方面。1、因?yàn)閙apreduce需要大規(guī)模的處理數(shù)據(jù),所以在內(nèi)存中儲(chǔ)存處理所有數(shù)據(jù)的難度很大,借助硬盤順序訪問(wèn)處理的技術(shù),可以大大提升處理速度。2、復(fù)雜度極高的編程其實(shí)對(duì)開發(fā)者的認(rèn)知和判斷造成了巨大的負(fù)擔(dān),而mapreduce要提供抽象機(jī)制,將程序員與系統(tǒng)層細(xì)節(jié)隔離開來(lái),程序員僅需描述需要計(jì)算什么,具體如何計(jì)算可交由系統(tǒng)的執(zhí)行框架處理。3、為了提升計(jì)算速度和數(shù)據(jù)處理規(guī)模,mapreduce的節(jié)點(diǎn)設(shè)計(jì)需要有很強(qiáng)的可擴(kuò)展性。

  • mapreduce和Spark的區(qū)別是什么

    mapreduce和Spark的區(qū)別是什么

    對(duì)于很多剛接觸編程的人來(lái)說(shuō),通常會(huì)無(wú)法完全理解mapreduce和spark的應(yīng)用區(qū)別。首先我們應(yīng)該明確,mapreduce是分布式運(yùn)算的編程框架,而Spark可以兼容HDFS、Hive等,可以融入hadoop的系統(tǒng)。這兩者的區(qū)別,主要表現(xiàn)在:1.spark基于內(nèi)存的運(yùn)算,要比mapreduce快100倍,基于硬盤的運(yùn)算,要比mapreduce快10倍。2.spark支持流式、離線運(yùn)算,而mapreduce則只支持離線運(yùn)算。3.mapreduce必須運(yùn)行在資源系統(tǒng)上,而spark本身集成資源調(diào)度,可以運(yùn)行在自身的Master、worker或者yarn上。

  • 初學(xué)mapreduce的常見問(wèn)題

    初學(xué)mapreduce的常見問(wèn)題

    不管怎樣,想要真正學(xué)會(huì)、理解、應(yīng)用一種編程方式,都不是容易的事情。對(duì)于mapreduce初學(xué)者來(lái)說(shuō),經(jīng)常會(huì)問(wèn),mapreduce的輸入源可以是視圖嗎?答案是,這是不可以的,只能是表,這樣把結(jié)果寫入到表或分區(qū)時(shí),才會(huì)覆蓋掉原有的數(shù)據(jù)。除此之外,初學(xué)者還應(yīng)該了解到Mapper中輸入的每條Record數(shù)據(jù),可以按序號(hào)讀取,也可以按照列名來(lái)獲取record,但是reduce.setup不能讀入輸入表,只能讀cache table。mapreduce在執(zhí)行時(shí),不可以調(diào)用shell文件,會(huì)被沙箱阻擋。如果還想要了解更多關(guān)于mapreduce的常見問(wèn)題,建議初學(xué)者可以多看一些文檔。

img

在線咨詢

建站在線咨詢

img

微信咨詢

掃一掃添加
動(dòng)力姐姐微信

img
img

TOP