日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

解讀MapReduce程序?qū)嵗?/span>

 小牛學(xué)堂666 2018-09-11

Mapreduce 是一個(gè)分布式運(yùn)算程序的編程框架,核心功能是將用戶編寫(xiě)的業(yè)務(wù)邏輯代碼和自帶默認(rèn)組件整合成一個(gè)完整的 分布式運(yùn)算程序,并發(fā)運(yùn)行在一個(gè) hadoop 集群上。MapReduce采用“分而治之”策略,一個(gè)存儲(chǔ)在分布式文件系統(tǒng)中的大規(guī)模數(shù)據(jù)集,會(huì)被切分成許多獨(dú)立的分片(split),這些分片可以被多個(gè)Map任務(wù)并行處理。

    Hadoop 的四大組件:

(1)HDFS:分布式存儲(chǔ)系統(tǒng);

(2)MapReduce:分布式計(jì)算系統(tǒng);

(3)YARN: hadoop 的資源調(diào)度系統(tǒng);

(4)Common: 以上三大組件的底層支撐組件,主要提供基礎(chǔ)工具包和 RPC 框架等;

    在 MapReduce 組件里, 官方給我們提供了一些樣例程序,其中非常有名的就是 wordcount 和 pi 程序,這些程序代碼都在 hadoop-example.jar 包里,jar包的安裝目錄在Hadoop下,為:

?

 下面我們來(lái)逐一解讀這兩個(gè)樣例程序。

    測(cè)試前,先關(guān)閉防火墻,啟動(dòng)Zookeeper、Hadoop集群,依次順序?yàn)?:

?

 成功啟動(dòng)后,查看進(jìn)程是否完整。這些可參考之前博客中關(guān)于集群的搭建。

    一、pi樣例程序

    (1)執(zhí)行命令,帶上參數(shù)

?

?

?

?

執(zhí)行程序,參數(shù)含義:

第1個(gè)參數(shù)5指的是要運(yùn)行5次map任務(wù) ;

第2個(gè)參數(shù)5指的是每個(gè)map任務(wù),要投擲多少次 ;

    2個(gè)參數(shù)的乘積就是總的投擲次數(shù)(pi代碼就是以投擲來(lái)計(jì)算值)。

    通過(guò)上面我們獲得了Pi的值:3.680000,當(dāng)然也可以改變參數(shù)來(lái)驗(yàn)證得出的結(jié)果和參數(shù)的關(guān)系,比如我的參數(shù)換成10和10,則得出的結(jié)果為:3.20000。由此可見(jiàn):參數(shù)越大,結(jié)果越是精確。

    (2)查看運(yùn)行進(jìn)程

    在執(zhí)行過(guò)程中,它的時(shí)間不定,所以我們可以通過(guò)訪問(wèn)界面,查看具體的運(yùn)行進(jìn)程,訪問(wèn):

?

界面顯示如下:

?

 從上面我們可以看出:當(dāng)Progress進(jìn)程結(jié)束,即代表運(yùn)算過(guò)程結(jié)束,也可以點(diǎn)擊查看具體的內(nèi)容,這里不做演示了。

    二、wordcount樣例程序

    (1)準(zhǔn)備數(shù)據(jù),上傳HDFS

    簡(jiǎn)單的說(shuō)就是單詞統(tǒng)計(jì),這里我們新建一個(gè)txt文件,輸入一些單詞,方便統(tǒng)計(jì):

?

輸入以下單詞,并保存:

?

上傳到HDFS,先在hdfs上創(chuàng)建文件夾,在將txt文件放到該文件夾下,下面是一種創(chuàng)建方式,或者是hadoop fs -mkdir 的方式,二者擇其一,注意路徑:

?

我們可以通過(guò)訪問(wèn) slave01:50070,查看HDFS文件系統(tǒng):

?

 成功上傳。

    (2)運(yùn)行程序

    執(zhí)行下面的命令,注意路徑:

?

命令參數(shù)的含義:

    第一個(gè)指的是jar包路徑,第二個(gè)指的是要執(zhí)行的樣例程序名稱wordcount,第三個(gè)指的是文件所在的HDFS路徑,第四個(gè)指的是要輸出的文件目錄(不要是已經(jīng)存在的)。

    上面是輸出結(jié)果,同樣的我們可以通過(guò)訪問(wèn) slave01:8088 查看進(jìn)程。

    執(zhí)行結(jié)束后,在HDFS文件系統(tǒng)上,可以看到輸出的目錄已經(jīng)創(chuàng)建好了,且里面存在了輸出的文件:

?

通過(guò)命令,可以查看執(zhí)行后的結(jié)果文件:

?

從上面可以看出:?jiǎn)卧~已經(jīng)統(tǒng)計(jì)完成,我們可以對(duì)照文件進(jìn)行驗(yàn)證。

    好了,上面是對(duì)兩個(gè)已有樣例的解讀,至于代碼方面有空再一起討論吧。


?

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多