1. 首頁
  2. 站長新聞

自從看了這篇HDFS讀寫數據流,面試不怕了,offer也來了

基于hadoop架構的企業數字化轉型,阿里數據中臺實戰案例

视频app丝瓜昨天有網友問我: 大型傳統企業如何在公司級數據整合、數據治理、數據運營中把握好業務和數據的關系,逐步實現智能化轉型? 背景: 大型傳統企業,通常都面臨業務系統數據孤島、各板

前幾天面試的時候,問到一個經典問題就是HDFS讀寫數據流的流程是怎么樣的?

视频app丝瓜 HDFS作為分布式存儲的基石,讀寫流程是很重要的一個知識點和面試點。

HDFS寫數據流程

1、剖析文件寫入

自從看了這篇HDFS讀寫數據流,面試不怕了,offer也來了

 

  • 客戶端通過Distributed FileSystem模塊向NameNode請求上傳文件,NameNode檢查目標文件是否已存在,父目錄是否存在。
  • NameNode返回是否可以上傳。
  • 客戶端請求第一個 block上傳到哪幾個datanode服務器上。
  • NameNode返回3個datanode節點,分別為dn1、dn2、dn3。
  • 客戶端通過FSDataOutputStream模塊請求dn1上傳數據,dn1收到請求會繼續調用dn2,然后dn2調用dn3,將這個通信管道建立完成。
  • dn1、dn2、dn3逐級應答客戶端。
  • 客戶端開始往dn1上傳第一個block(先從磁盤讀取數據放到一個本地內存緩存),以packet為單位,dn1收到一個packet就會傳給dn2,dn2傳給dn3;dn1每傳一個packet會放入一個應答隊列等待應答。
  • 當一個block傳輸完成之后,客戶端再次請求NameNode上傳第二個block的服務器。(重復執行3-7步)。

2、網絡拓撲概念

视频app丝瓜 在本地網絡中,兩個節點被稱為“彼此近鄰”是什么意思?在海量數據處理中,其主要限制因素是節點之間數據的傳輸速率——帶寬很稀缺。這里的想法是將兩個節點間的帶寬作為距離的衡量標準。

视频app丝瓜 節點距離:兩個節點到達最近的共同祖先的距離總和。

自從看了這篇HDFS讀寫數據流,面試不怕了,offer也來了

 

例如,假設有數據中心d1機架r1中的節點n1。該節點可以表示為/d1/r1/n1。利用這種標記,這里給出四種距離描述。

大家算一算每兩個節點之間的距離。

自從看了這篇HDFS讀寫數據流,面試不怕了,offer也來了

 

管理者必看!深度剖析BI與數據倉庫,企業能否成功轉型就看它

前一段時間,都在和大家講數據倉庫,以最復雜的金融業為例,講了數據倉庫的系統架構、底層布局以及如何更好地應用,甚至還引申了講到了商業智能(也就是BI),相信大家多多少少都會理

3、機架感知(副本節點選擇)

(1)版本Hadoop副本節點選擇

第一個副本在Client所處的節點上。如果客戶端在集群外,隨機選一個。

视频app丝瓜 第二個副本和第一個副本位于不相同機架的隨機節點上。

视频app丝瓜 第三個副本和第二個副本位于相同機架,節點隨機。

自從看了這篇HDFS讀寫數據流,面試不怕了,offer也來了

 

视频app丝瓜 (2)Hadoop2.7.x副本節點選擇

第一個副本在Client所處的節點上。如果客戶端在集群外,隨機選一個。

第二個副本和第一個副本位于相同機架,隨機節點。

第三個副本位于不同機架,隨機節點。

自從看了這篇HDFS讀寫數據流,面試不怕了,offer也來了

 

二、HDFS讀數據流程

自從看了這篇HDFS讀寫數據流,面試不怕了,offer也來了

 

  • 客戶端通過Distributed FileSystem向NameNode請求下載文件,NameNode通過查詢元數據,找到文件塊所在的DataNode地址。
  • 挑選一臺DataNode(就近原則,然后隨機)服務器,請求讀取數據。
  • DataNode開始傳輸數據給客戶端(從磁盤里面讀取數據輸入流,以packet為單位來做校驗)。
  • 客戶端以packet為單位接收,先在本地緩存,然后寫入目標文件。

视频app丝瓜大數據?人工智能?揭秘銀行數據倉庫發展趨勢

整個系列的文章從銀行數據倉庫架構,ETL,模型,數據管理以及幾大方面應用介紹了數據倉庫,可以讓大家對銀行數據倉庫有個概要的了解。 前文回顧: 《 銀行數據倉庫的系統架構是什么?

原創文章,作者:ajseo,如若轉載,請注明出處:http://tjxingying.com/itnews/13062.html


聯系我們

13071972829

在線咨詢:

郵件:207985384@qq.com

工作時間:周一至周五,9:30-18:30,節假日休息

QR code