您好,登錄后才能下訂單哦!
寫這篇文章的原因是給那些看了很多干貨,但是覺得說的太多,對于剛入門的同學看起來是比較枯燥的事情,那么筆者就對此總結了hadoop簡潔版。希望能夠幫助初學的小伙伴。分享之前我還是要推薦下我自己創建的大數據學習交流Qun: 710219868 進Qun聊邀請碼填寫 南風(必填)我就知道是你了
Hadoop可以說是大數據儲存和計算的開山鼻祖了,現在大多數的開源框架都依賴于Hadoop,或者能與它更好的兼容。
Hadoop的由來:
Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。
Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有著超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統中的數據。
hadoop的核心總共有兩個:HDFS(為海量數據提供儲存)、MapReduce(為海量數據提供了計算)
hadoop的優點: 是一個能對大數據進行分布式處理的軟件框架、是一種可靠、高效、高伸縮的方式進行處理數據.
哪里可靠:因為它假設了計算元素或儲存失敗,因此它維護了多個工作數據和副本,確保能夠針對失敗的節點進行重新分布處理
哪里高效:因為它是以并行的方式進行工作,通過并行處理加快處理速度
還是可伸縮的,因為可以處理PB級數據
那么說了這么多干貨,究竟hadoop是干嘛的。具體能做什么呢
hadoop就是適用于大數據存儲和大數據分析的應用,適用于幾千臺或者幾萬臺服務器的集群運行,支持PB級的存儲容量。
hadoop提供了什么功能呢?
利用服務器集群,根據用戶自定義的業務邏輯對海量數據進行分布式處理!
hadoop運用于什么場景呢?
目前最典型是運用于對 數據量特別大、數據類型復雜,無法用傳統數據庫進行儲存和處理的的文本、日志、視頻、圖片、地理位置等.
技術介紹:
HDFS:
那么顧名思義大數據首先是要把數據儲存下來。而HDFS的設計本質就是為了大量數據能夠橫跨成千上萬個服務器存儲。
比如說你獲取了/hdfs/tmp/a1的數據,雖然你看到的只是一個路徑的數據,但是很可能這個數據存儲在很多不同的機器上。
作為用戶根本不關注你這些數據儲存在了哪里和儲存在多少個地方,更多關注數據的使用和處理,這些就要交給HDFS管理。
MapReduce:
那么我們能夠存儲數據了,就要考慮如何處理數據了,一臺計算機處理T或者P以上的數據可能需要好幾天,這種效率明顯公司是不能接受的,但是我們如果使用很多臺計算機處理的話就面臨了計算機之間如何分配的任務,如何通信、數據交換。這就是MapReduce/Spack要處理的問題了。提供了可靠的能在集群上運行的計算模型。
Hive:
簡單來說就是程序員在寫MapReduce程序的時候發現很麻煩,但是可以通過Hive解決這個事情。
hive是通過SQL的方式自動把腳本或者SQL翻譯成MapReduce程序,然后丟給計算引擎去處理
因為SQL比較容易上手,容易修改,可能一兩行的SQL語句換成MapReduce可能幾十行,幾百行
上面介紹的就是數據倉庫的基本架構了,底層是 HDFS,上面運行的是 MapReduce/Spark,在往上封裝的是Hive。
Storm:
想要更快的計算處理速度!Storm 是最流行的流計算平臺。流處理的思路就是在數據進入系統的時候就進行處理,基本無延遲。缺點是不靈活,必須事先直到需要統計的數據,數據流過就沒有了,沒法進行補算。因此它是個好東西,但還是無法代替上述體系的。
HBase:
HBase 是一個構建與 HDFS 的分布式,面向列的存儲系統。以 key value 對的方式存儲數據并對存取操作做了優化,能夠飛快的根據 key 獲取綁定的數據。例如從幾個 P 的數據中找×××號只需要零點幾秒。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。