本地儲存資料 大資料 Hadoop讀寫資料流程解析

2021-10-14 17:58:24 字數 1020 閱讀 2925

hdfs能正常工作,對外提供資料儲存服務,與hadoop體系中各種元件的協作配合是分不開的。其中元件有 namenode, datanode, client等,下述部分描述了各種元件的作用,以及相關的關係和在檔案系統中讀取和寫入資料的流程。

下圖是向hdfs檔案系統中寫入(上傳)資料時的流程圖。各資料處理步驟說明見一下分析。

1. 客戶端通過distributed filesystem模組向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在。

2. namenode返回是否可以上傳

3. 客戶端請求第乙個 block上傳到哪幾個datanode伺服器上

4. namenode返回3個datanode節點,分別為dn1、dn2、dn3。表示採用這3個節點儲存資料。

5. 客戶端通過fsdataoutputstream模組請求dn1上傳資料,dn1收到請求會繼續呼叫dn2,然後dn2呼叫dn3,將這個通訊管道建立完成

6. dn1、dn2、dn3逐級應答客戶端

7. 客戶端開始往dn1上傳第乙個block(先從磁碟讀取資料放到乙個本地記憶體快取),以packet為單位,dn1收到乙個packet就會傳給dn2,dn2傳給dn3;dn1每傳乙個packet會放入乙個應答佇列等待應答

8. 當乙個block傳輸完成之後,客戶端再次請求namenode上傳第二個block的伺服器(重複執行3-7步)

2. namenode 返回目標檔案的元資料

3. 挑選一台datanode(就近原則,然後隨機)伺服器,請求讀取資料。

4. datanode開始傳輸資料給客戶端(從磁碟裡面讀取資料輸入流,以packet為單位來做校驗)

5. 客戶端以packet為單位接收,先在本地快取,然後寫入目標檔案。

本地儲存資料

直接將資料寫在 裡,不是一種合理的做法,如果資料經常改,就要經常翻開對應的 進行修改,造成 擴充套件型低 因此,可以考慮將經常變的資料放在檔案中進行儲存,程式啟動後從檔案中讀取最新的資料,如果要變動資料,直接修改資料檔案即可,不用修改 一般可以使用屬性列表檔案儲存nsarray或者dictionar...

android 本地儲存資料

string prefs name lmn.com string itemuser username string itempass password string itemcheck check 一 儲存 sharedpreferences settings getsharedpreference...

資料本地儲存方法

儲存到本地的資料型別有 陣列,字典,字串,物件型別的 1 字串的本地儲存 nsstring str dsadasd nsarray arr nssearchpathfordirectoriesindomains nslibrarydirectory,nsuserdomainmask,yes nsst...