hadoop培訓內容:hdfs資料組織,1.資料塊,2.staging,3.流水線式的複製
1.資料塊
hdfs最適合的應用場景是處理大資料集合,同時這些應用多是一次寫入多次讀取,並且讀的速度要滿足流式讀,即write-once-read-many的語義。乙個典型的block大小是64mb,因此檔案總是按照64mb切分成chunk,每個chunk儲存於不同的datanode伺服器中。
2.staging
在某個客戶端上建立檔案的請求其實並沒有立即發給namenode,事實上,hdfs客戶端會將檔案資料快取到本地的乙個臨時檔案中,應用寫檔案時被透明地重定向到這個臨時檔案。
當這個臨時檔案累積的資料超過乙個block的大小(預設為64mb),客戶端才會聯絡namenode。namenode將檔名插入檔案系統的層次結構中,並且分配乙個資料塊給它,然後返回datanode的識別符號和目標資料塊給客戶端。客戶端將本地臨時檔案flush到指定的datanode上。當檔案關閉時,在臨時檔案中剩餘的沒有flush的資料也會傳輸到指定的datanode,然後客戶端告訴namenode檔案已經關閉。此時namenode才將檔案建立操作提交到持久儲存。如果namenode在檔案關閉前掛機,該檔案將丟失。
上述方法是對在hdfs上執行的目標應用認真考慮的結果。如果不採用客戶端快取,網路速度和網路堵塞因素會對吞吐量造成比較大的影響。
3.流水線式的複製
cuug官網
Hadoop HDFS 讀寫資料
1 初始化filesystem,然後客戶端 client 用filesystem的open 函式開啟檔案 2 filesystem用rpc呼叫元資料節點,得到檔案的資料塊資訊,對於每乙個資料塊,元資料節點返回儲存資料塊的資料節點的位址。3 filesystem返回fsdatainputstream給...
hadoop hdfs 資料讀寫
向 namenode 請求上傳檔案 響應可以上傳檔案 向 namenode 請求,上傳到哪幾台 datanode namenode 返回,指定檔案上傳的 datanode 節點資料 通過獲取到的 namenode 節點資訊,客戶端向乙個節點傳送通訊,開通資料通訊管道 確認建立通道 建立 fsdata...
Hadoop HDFS 讀寫資料
1 初始化filesystem,然後客戶端 client 用filesystem的open 函式開啟檔案 2 filesystem用rpc呼叫元資料節點,得到檔案的資料塊資訊,對於每乙個資料塊,元資料節點返回儲存資料塊的資料節點的位址。3 filesystem返回fsdatainputstream給...