廣州總校區(qū)切換校區(qū)
復(fù)制成功
微信號:togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動跳轉(zhuǎn)微信失敗,請前往微信添加好友
打開微信
圖片

行業(yè)新聞

HDFS如何讀數(shù)據(jù)

發(fā)布時間: 2022-11-24

HDFS如何讀數(shù)據(jù),如圖1所示,HDFS進(jìn)行讀數(shù)據(jù)描述如下。



圖1 HDFS讀數(shù)據(jù)流程圖

(1)調(diào)用FileSystem對象的Open方法,其實獲取的是一個DistributedFileSystem的實例。

(2)DistributedFileSystem通過RPC(遠(yuǎn)程過程調(diào)用)獲得文件的第一批Block的Locations,同一Block按照重復(fù)數(shù)會返回多個Locations,這些Locations按照Hadoop拓?fù)浣Y(jié)構(gòu)排序,距離客戶端近的排在前面。

(3)前兩步會返回一個FSDatalnputStream對象,該對象會被封裝成DFSlnputStream對象,DFSlnputStream可以方便地管理DataNode和NameNode數(shù)據(jù)流。客戶端調(diào)用Read方法,DFSlnputStream就會找出離客戶端最近的DataNode并連接DataNode。

(4)數(shù)據(jù)從DataNode源源不斷地流向客戶端。

(5)如果第一個Block塊的數(shù)據(jù)讀完了,就會關(guān)閉指向第一個Block塊的DataNode連接,接著讀取下一個Block塊。這些操作對客戶端來說是透明的,從客戶端的角度來看只是讀一個持續(xù)不斷的流。

(6)如果第一批Block都讀完了,DFSlnputStream就會去NameNode拿下一批Block的Locations,然后繼續(xù)讀,如果所有的Block塊都讀完,這時就會關(guān)閉掉所有的流。

上一篇: VLAN優(yōu)點有哪些

下一篇: 封裝PPP及配置其驗證方式

<
在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優(yōu)質(zhì)服務(wù)!