教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

大數(shù)據(jù)培訓(xùn):HDFS讀數(shù)據(jù)流程

更新時(shí)間:2022年07月12日14時(shí)15分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  之前我們講過(guò)客戶端向HDFS寫數(shù)據(jù)的流程,接下來(lái)學(xué)習(xí)客戶端從HDFS中讀數(shù)據(jù)的流程,如圖3-9所示。

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

  圖3-9 HDFS讀數(shù)據(jù)的流程

  從圖3-9可以看出,HDFS中的讀數(shù)據(jù)流程可以分為4個(gè)步驟,具體如下:

  (1)客戶端向NameNode發(fā)起RPC請(qǐng)求,來(lái)獲取請(qǐng)求文件Block數(shù)據(jù)塊所在的位置。

  (2)NameNode檢測(cè)元數(shù)據(jù)文件,會(huì)視情況返回部分Block塊信息或者全部Block塊信息,對(duì)于每個(gè)Block塊,NameNode都會(huì)返回含有該Block副本的DataNode地址。

  (3)客戶端會(huì)選取排序靠前的DataNode來(lái)依次讀取Block塊(如果客戶端本身就是DataNode,那么將從本地直接獲取數(shù)據(jù)),每一個(gè)Block都會(huì)進(jìn)行CheckSum(完整性驗(yàn)證),若文件不完整,則客戶端會(huì)繼續(xù)向NameNode獲取下一批的Block列表,直到驗(yàn)證讀取出來(lái)文件是完整的,則Block讀取完畢。

  (4)客戶端會(huì)把最終讀取出來(lái)所有的Block塊合并成一個(gè)完整的最終文件(如1.txt)。

  小提示:NameNode返回的DataNode地址,會(huì)按照集群拓?fù)浣Y(jié)構(gòu)得出DataNode與客戶端的距離,然后進(jìn)行排序。排序有兩個(gè)規(guī)則:網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中距離客戶端近的則靠前;心跳機(jī)制中超時(shí)匯報(bào)的DataNode狀態(tài)為無(wú)效的,則排靠后。

0 分享到:
和我們?cè)诰€交談!