日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Hadoop-0.20.0源代碼中關(guān)鍵的類

本節(jié)和大家一起學(xué)習(xí)一下有關(guān)Hadoop-0.20.0源代碼方面的內(nèi)容,主要介紹幾個(gè)Hadoop中常用的類,相信通過(guò)本節(jié)的學(xué)習(xí)大家對(duì)Hadoop-0.20.0源代碼有一定的了解,讓我們一起來(lái)學(xué)習(xí)吧。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、湖濱網(wǎng)站維護(hù)、網(wǎng)站推廣。

Hadoop-0.20.0源代碼分析

Hadoop框架是兩個(gè)模型實(shí)現(xiàn)的有機(jī)整合,亦即Hadoop分布式文件系統(tǒng)(HDFS)與MapReduce并行編程模型,也就是說(shuō),Hadoop框架要能夠提供的基本功能就是,在存儲(chǔ)系統(tǒng)HDFS上進(jìn)行MapReduce并行計(jì)算,所以,如果想要了解Hadoop框架的工作原理和運(yùn)行機(jī)制,主要從這兩個(gè)方面著手。
其實(shí),Hadoop中MapReduce并行計(jì)算應(yīng)該是在HDFS實(shí)現(xiàn)的,因此了解計(jì)算所基于HDFS應(yīng)該是入口點(diǎn),當(dāng)對(duì)HDFS有了一定的了解,就能夠知道這樣一個(gè)并行計(jì)算平臺(tái)能夠提供哪些進(jìn)行計(jì)算的基礎(chǔ)要素。
當(dāng)然,在了解HDFS之前,應(yīng)該先熟悉一下Hadoop對(duì)文件系統(tǒng)FS是如何實(shí)現(xiàn)的,都提供了哪些操作。在org.apache.hadoop.fs包中,提供了文件系統(tǒng)的高層抽象(FileSystem類),基于該抽象的文件系統(tǒng),可以來(lái)實(shí)現(xiàn)滿足實(shí)際需要的文件系統(tǒng)實(shí)現(xiàn)類,例如用來(lái)在本地存儲(chǔ)原生文件的文件系統(tǒng)(RawLocalFileSystem),例如一個(gè)文件系統(tǒng)之上可以存在其它一些類型的文件系統(tǒng)(基于校驗(yàn)和的文件系統(tǒng)ChecksumFileSystem類就是這樣的,ChecksumFileSystemextendsFilterFileSystem,F(xiàn)ilterFileSystem是一個(gè)最基本的文件系統(tǒng)實(shí)現(xiàn))。

我在閱讀源代碼的過(guò)程中,首先從與org.apache.hadoop.fs包中文件系統(tǒng)相關(guān)的其它包org.apache.hadoop.security開(kāi)始。
org.apache.hadoop.security包中的一些類涉及到文件系統(tǒng)中用戶的信息,例如用戶權(quán)限等等。所以,為了能夠深入了解文件系統(tǒng)和方便閱讀源代碼,就應(yīng)該了解與文件系統(tǒng)相關(guān)的安全支持,實(shí)際上也就是位于Hadoop源代碼中org.apache.hadoop.security包中實(shí)現(xiàn)。
下面分別對(duì)其中關(guān)鍵類的源代碼進(jìn)行閱讀分析:

Group類與User類

首先,org.apache.hadoop.security.Group類與org.apache.hadoop.security.User類都是一個(gè)實(shí)體類,表征一個(gè)屬于HDFS文件系統(tǒng)中存在的一類實(shí)體,它們的定義非常相似,下面只拿出Group類來(lái)說(shuō)明。
Group類表示一個(gè)組的概念實(shí)現(xiàn),它實(shí)現(xiàn)了java.security.Principal接口,也就是說(shuō)Group類表示一個(gè)用來(lái)容納一些對(duì)象的實(shí)體,比如一個(gè)組中可以包含多個(gè)不同的用戶,一個(gè)組中可以包含多種不同的權(quán)限,一個(gè)組中還可以包含多種授權(quán)的證書,等等。這個(gè)類比較容易,包含一個(gè)final修飾的組名稱的字段,也就是說(shuō)一個(gè)組一旦創(chuàng)建就不能修改組名稱,Group類沒(méi)有提供修改組名稱的方法。新創(chuàng)建一個(gè)組的時(shí)候,需要指定組名稱。該類中比較重要的是equals方法,用來(lái)比較某個(gè)Object對(duì)象(組對(duì)象)是夠與該組(this)相互匹配。

UserGroupInformation抽象類

再來(lái)看一下Hadoop-0.20.0源代碼中UserGroupInformation抽象類。Hadoop框架中,分布式文件系統(tǒng)框架HDFS具有一個(gè)用來(lái)存儲(chǔ)用戶和組信息的實(shí)現(xiàn),它是通過(guò)一個(gè)位于org.apache.hadoop.security包中的UserGroupInformation抽象類來(lái)抽象這些信息的,如果對(duì)于特定的基于用戶和組的操作系統(tǒng),都可以繼承自該抽象類,用來(lái)實(shí)現(xiàn)表示用戶與組的一些信息的實(shí)體,及其一些簡(jiǎn)單的操作。

UserGroupInformation類實(shí)現(xiàn)了org.apache.hadoop.io.Writable接口,該接口是Hadoop框架基于DataInput和DataOutput定義的一個(gè)序列化協(xié)議,實(shí)現(xiàn)該接口的類支持序列化操作。
總結(jié)一下,UserGroupInformation抽象類主要定義的操作如下:

1、獲取當(dāng)前用戶線程的用和組信息(UGI),通過(guò)getCurrentUGI()方法實(shí)現(xiàn)的;

2、獲取用戶名和組名,分別通過(guò)抽象方法getUserName()和getGroupNames()方法實(shí)現(xiàn)的;

3、根據(jù)Hadoop的配置類Configuration實(shí)例,登錄系統(tǒng)后返回一個(gè)UserGroupInformation類的實(shí)例,通過(guò)方法login(Configurationconf)實(shí)現(xiàn)的;

4、讀取Hadoop的配置類Configuration實(shí)例,返回一個(gè)UserGroupInformation類的實(shí)例,通過(guò)方法readFrom(Configurationconf)實(shí)現(xiàn)的。本節(jié)關(guān)于Hadoop-0.20.0源代碼方面的知識(shí)介紹到這里。


標(biāo)題名稱:Hadoop-0.20.0源代碼中關(guān)鍵的類
分享鏈接:http://m.5511xx.com/article/codsejc.html