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

全國咨詢/投訴熱線:400-618-4000

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

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

好口碑IT培訓(xùn)

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

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

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

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

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

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

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

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

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

0 分享到:
和我們在線交談!