hadoop盡量在計算節點上存資料,以實現資料的快速訪問,即資料本地化(data locatily)。
1:為只需要短短幾分鐘或數小時就能完成的任務設計。
2:執行於同乙個內部有高速網路連線的資料中心。
3:資料中心的計算機都是可靠的,專門的硬體。
a,本地資料,本地執行;
即在儲存有輸入資料(hdfs中的資料)的節點執行map任務,無需使用寶貴的集群頻寬資源,可獲得最佳效能(資料本地化優化)。
b,本地節點,本地機架執行;
即儲存資料副本的所有機器均有其他map任務未執行完,且當前機架有空閒map槽來執行。
c:本地資料,跨機架執行
即儲存資料副本的所有機器均有其他map任務未執行完,且當前機架無空閒map槽來執行,需到其他機架尋找map槽來執行,這將導致機架與機架之間的網路傳輸。
hdfs以流式資料訪問模式來儲存超大檔案,執行於商用硬體上。
1.超大檔案:數百gb,tb,pb級
2.流式資料訪問:hdfs構建思路:一次寫入,多次讀取是最高效的訪問模式。
3.商用硬體:即普通商店即可買到的硬體設施。
4.低延時的資料訪問:低延時不適用於在hdfs上執行,hdfs是以高資料吞吐量應用優化的,這可能以提高時間延時為代價。低延時hbase是更好的選擇。
5.多使用者寫入,任意修改檔案:hdfs只支援單使用者以「只新增」的方式在檔案末尾寫資料,且不支援多使用者同時寫操作,也不支援在檔案任意位置進行修改。
hdfs中的資料塊:hdfs檔案系統預設塊大小128m,但hdfs中小於塊大小的檔案不會佔據整個塊空間(如,1m的檔案儲存在128m塊中時,檔案只會占用1m的磁碟空間,而非12m)。
a:塊大的目的主要是最小化定址開銷,如果塊足夠大,從磁碟傳輸資料的時間明顯大於定址時間,因此,傳輸乙個由多個塊組成的檔案的時間主要取決於磁碟傳輸速率。定址時間控制在傳輸時間的1%為佳。塊不是越大越好,如果塊設定的過大mapreduce中的map任務通常只處理乙個塊中的資料,因此如果任務數太少(少於集群中節點數),作業的執行速率就會比較慢。
分布式檔案系統的塊抽象的好處:
一:乙個檔案的大小可以大於網路中任意乙個磁碟容量
二:大大簡化了儲存子系統的設計,如分塊資料和元資料管理。
三:非常適用於資料備份進而提供資料容錯性和高可用性。
讀書筆記 Hadoop權威指南 第3版
下面歸納概述了用於設定mapreduce作業輸出的壓縮格式的配置屬性。如果mapreduce驅動使用了tool介面,則可以通過命令行將這些屬性傳遞給程式,這比通過程式 來修改壓縮屬性更加簡便。mapreduce的壓縮屬性 屬性名稱 型別預設值 描述mapred.out.compress boolea...
《Hadoop權威指南》索引筆記
2015年5月2日 hadoop檔案格式 一 hdfs 1.hdfs一次寫入,多次讀取,每次分析應涉及大部分資料 批處理才有優勢 2.hdfs缺點 低延遲訪問 大量小檔案 使用者修改 3.hdfs塊大小 預設64m,但實際工作中往往調大 最小化定址開銷 但不能太大,一般乙個map處理乙個block,...
《Hadoop權威指南4》第1章 初識Hadoop
1.6 apache hadoop發展簡史 1.7 本書包含的內容 未來的資料很大,個人,公共網頁的資料等等都很多。大資料勝於好演算法。硬碟的讀寫速度很慢跟不上資料儲存分析的需要。hadoop的,hdfs和mapreduce解決了資料的儲存和分析的問題。mapreduce進行每一次查詢時要處理整個資...