柚子快報激活碼778899分享:Hadoop云上大數(shù)據(jù)技術
柚子快報激活碼778899分享:Hadoop云上大數(shù)據(jù)技術
一、大數(shù)據(jù)的特征
??? 大數(shù)據(jù)主要具有四個方面的特征,通常指的4V,即大量(Volume)、多樣(Variety)、高速(Velocity)和價值(Value)。
(1)數(shù)據(jù)量大(Volume) 非結構化數(shù)據(jù)的超大規(guī)模和增長,導致數(shù)據(jù)集合的規(guī)模不斷擴大,數(shù)據(jù)單位已從GB到TB再到PB級,甚至開始以EB和ZB來計數(shù)。
(2)類型繁多(Variety) 大數(shù)據(jù)的類型不僅包括網(wǎng)絡日志、音頻、視頻、圖片、地理位置信息等結構化數(shù)據(jù),還包括半結構化數(shù)據(jù)甚至是非結構化數(shù)據(jù),具有異構性和多樣性的特點。
(3)價值密度低(Value) 大數(shù)據(jù)本身存在較大的潛在價值,但由于大數(shù)據(jù)的數(shù)據(jù)量過大,其價值往往呈現(xiàn)稀疏性的特點。雖然單位數(shù)據(jù)的價值密度在不斷降低,但是數(shù)據(jù)的整體價值在提高。
(4)速度快時效高(Velocity) 要求大數(shù)據(jù)的處理速度快,時效性高,需要實時分析而非批量式分析,數(shù)據(jù)的輸入、處理和分析連貫性地處理。
二、結構化數(shù)據(jù)和非結構化數(shù)據(jù)
?? (1)結構化數(shù)據(jù):即行數(shù)據(jù),存儲在數(shù)據(jù)庫里,可以用二維表結構來邏輯表達實現(xiàn)的數(shù)據(jù)。結構化數(shù)據(jù)類型是一種用戶定義的數(shù)據(jù)類型,它包含一些非原子的元素,更確切地說,這些數(shù)據(jù)類型是可以分割的,它們既可以單獨使用,又可以在適當情況下作為一個獨立的單元使用。結構化數(shù)據(jù)類型 是一種用戶定義的數(shù)據(jù)類型,它包含了一系列的屬性,每一個屬性都有一個數(shù)據(jù)類型。屬性 是專門用來幫助描述類型實例的特性。
例如:????? ?id????? name?????????????? age????????? gender
?????? ?????????????1????? Liu Yi??????????????? 20? ? ? ? ? ? ?male
?????? ?????????????2????? Chen Er???????????35??????? ???female
?????? ?????????????3????? Zhang San???????28?????????? male
?? (2)非結構化數(shù)據(jù):不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù),包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻視頻信息等等。非結構化數(shù)據(jù)庫是指其字段長度可變,并且每個字段的記錄又可以由可重復或不可重復的子字段構成的數(shù)據(jù)庫,用它不僅可以處理結構化數(shù)據(jù)(如數(shù)字、符號等信息)而且更適合處理非結構化數(shù)據(jù)(全文文本、圖象、聲音、影視、超媒體等信息)。
三、Hadoop生態(tài)圈
? ??Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎架構。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。是目前應用最為廣泛的分布式大數(shù)據(jù)處理框架,其具備可靠、高效、可伸縮等特點。
??? Hadoop的核心組件是HDFS、MapReduce。隨著處理任務不同,各種組件相繼出現(xiàn),豐富Hadoop生態(tài)圈。根據(jù)服務對象和層次分為:數(shù)據(jù)來源層、數(shù)據(jù)傳輸層、數(shù)據(jù)存儲層、資源管理層、數(shù)據(jù)計算層、任務調度層、業(yè)務模型層。
四、Hadoop hdfs 架構
(1)HDFS(Hadoop Distributed File System),它是一個文件系統(tǒng);HDFS的使用場景:適合一次寫入,多次讀出的場景。
(2)組成架構:
?? NameNode(nn):
?????? 1)管理HDFS的名稱空間;
?????? 2)配置副本策略;
?????? 3)管理數(shù)據(jù)塊(Block) 映射信息;
?????? 4)處理客戶端讀寫請求。
?? DataNode:就是Slave,NameNode下達命令,DataNode執(zhí)行實際操作。
?????? 1)存儲實際的數(shù)據(jù)塊
?????? 2)執(zhí)行數(shù)據(jù)塊的讀寫操作
?? Client:就是客戶端。
?????? 1)文件切分。文件上傳HDFS的時候, Client將文件切分成一 個個的Block, 然后進行上傳
?????? 2)與NameNode交互,獲取文件的位置信息
?????? 3)與DataNode交互,讀取或者寫入數(shù)據(jù)
?????? 4)Client提供一 些命 令來管理HDFS,比如NameNode格式化
?????? 5)Client可以通過一些命令來訪問HDFS,比如對HDFS增刪查改操作
?? Secondany NameNode:并非NameNode的熱備。當NameNode掛掉的時候, 它并不能馬上替換NameNode并提供服務。
?????? 1)輔助NameNode,分擔其工作量,比如定期臺并fsimage和edits,并推送給NameNode ;
?????? 2)在緊急情況下,可輔助恢復NameNode。
(3)HDFS特性
?????? 1)能夠保存PB級的數(shù)據(jù)量,將數(shù)據(jù)散布在大量的計算機(節(jié)點)上,支持更大的文件。
?????? 2)使用數(shù)據(jù)備份的方法解決文件存儲的可靠性,如果集群中單個節(jié)點故障則啟用備份。
?????? 3)很好的與Map-Reduce集成,為減小計算時的數(shù)據(jù)交互,HDFS允許數(shù)據(jù)在本地計算。
(4) HDFS局限性
?????? 1)針對高速流式讀取進行優(yōu)化,查詢性能低下(可利用Hive查詢)
?????? 2)一次寫入多次讀取,不支持并發(fā)寫入,并發(fā)讀取性能很高
?????? 3)不支持文件修改
?????? 4)不支持緩存,每次讀取文件須從硬盤上重新讀取,當然對于大文件順序讀取性能影響不大
?????? 5)不適合存儲小文件
五、hdfs 讀流程
(1)HDFS Client 調用Filesystem.open(filePath)方法,與NN進行RPC通信
(2)NN對文件進行權限檢查(存在?權限?)然后根據(jù)就近返回相應的block列表給Client
(3)Client與相應的每個block主機建立PipeLine(并行)
(4)client調用FSDataInputStream.read方法同樣以package為單位進行讀取,讀取完后進行檢查
(5)將讀取的不同block進行合并
(6)client調用FSDataInputStream的close方法關閉數(shù)據(jù)流
柚子快報激活碼778899分享:Hadoop云上大數(shù)據(jù)技術
精彩鏈接
本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。