如何學習Hadoop
如何學習Hadoop ,如何學習Hadoop ,對大資料開發感興趣的小夥伴就隨著小編一起來了解一下吧。
Hadoop 實現了一個分散式檔案系統 (Hadoop Distributed File System) ,簡稱 HDFS 。 HDFS 有高容錯性的特點,並且設計用來部署在低廉的 (low-cost) 硬體上 ; 而且它提供高吞吐量 (high throughput) 來訪問應用程式的資料,適合那些有著超大資料集 (large data set) 的應用程式。 HDFS 放寬了 (relax)POSIX 的要求,可以以流的形式訪問 (streaming access) 檔案系統中的資料。
Hadoop 的框架最核心的設計就是: HDFS 和 MapReduce 。 HDFS 為海量的資料提供了儲存,則 MapReduce 為海量的資料提供了計算。一句話來講 Hadoop 就是儲存加計算。
Hadoop 是一個能夠讓使用者輕鬆架構和使用的分散式計算平臺。使用者可以輕鬆地在 Hadoop 上開發和執行處理海量資料的應用程式。它主要有以下幾個優點:
1 、高可靠性 Hadoop 按位儲存和處理資料的能力值得人們信賴。
2 、高擴充套件性 Hadoop 是在可用的計算機集簇間分配資料並完成計算任務的,這些集簇可以方便地擴充套件到數以千計的節點中。
3 、高效性 Hadoop 能夠在節點之間動態地移動資料,並保證各個節點的動態平衡,因此處理速度非常快。
4 、高容錯性 Hadoop 能夠自動儲存資料的多個副本,並且能夠自動將失敗的任務重新分配。
5 、低成本 與一體機、商用資料倉儲以及 QlikView 、 Yonghong Z-Suite 等資料集市相比, hadoop 是開源的,專案的軟體成本因此會大大降低。
Hadoop 帶有用 Java 語言編寫的框架,因此執行在 Linux 生產平臺上是非常理想的。 Hadoop 上的應用程式也可以使用其他語言編寫,比如 C++ 。
Hadoop 大資料處理的意義:
Hadoop 得以在大資料處理應用中廣泛應用得益於其自身在資料提取、變形和載入 (ETL) 方面上的天然優勢。 Hadoop 的分散式架構,將大資料處理引擎儘可能的靠近儲存,對例如像 ETL 這樣的批處理操作相對合適,因為類似這樣操作的批處理結果可以直接走向儲存。 Hadoop 的 MapReduce 功能實現了將單個任務打碎,並將碎片任務 (Map) 傳送到多個節點上,之後再以單個資料集的形式載入 (Reduce) 到資料倉儲裡。
Hadoop 由以下幾個專案構成:
1 、 Hadoop Common : Hadoop 體系最底層的一個模組,為 Hadoop 各子專案提供各種工具,如:配置檔案和日誌操作等。
2 、 HDFS :分散式檔案系統,提供高吞吐量的應用程式資料訪問,對外部客戶機而言, HDFS 就像一個傳統的分級檔案系統。可以建立、刪除、移動或重新命名檔案,等等。但是 HDFS 的架構是基於一組特定的節點構建的,這是由它自身的特點決定的。這些節點包括 NameNode( 僅一個 ) ,它在 HDFS 內部提供後設資料服務 ;DataNode ,它為 HDFS 提供儲存塊。
由於僅存在一個 NameNode ,因此這是 HDFS 的一個缺點 ( 單點失敗 ) 。 儲存在 HDFS 中的檔案被分成塊,然後將這些塊複製到多個計算機中 (DataNode) 。這與傳統的 RAID 架構大不相同。塊的大小 ( 通常為 64MB) 和複製的塊數量在建立檔案時由客戶機決定。 NameNode 可以控制所有檔案操作。 HDFS 內部的所有通訊都基於標準的 TCP/IP 協議。
3 、 MapReduce :一個分散式海量資料處理的軟體框架集計算叢集。
4 、 Avro : doug cutting 主持的 RPC 專案,主要負責資料的序列化。有點類似 Google 的 protobuf 和 Facebook 的 thrift 。 avro 用來做以後 hadoop 的 RPC ,使 hadoop 的 RPC 模組通訊速度更快、資料結構更緊湊。
5 、 Hive :類似 CloudBase ,也是基於 hadoop 分散式計算平臺上的提供 data warehouse 的 sql 功能的一套軟體。使得儲存在 hadoop 裡面的海量資料的彙總,即席查詢簡單化。 hive 提供了一套 QL 的查詢語言,以 sql 為基礎,使用起來很方便。
6 、 HBase :基於 Hadoop Distributed File System ,是一個開源的,基於列儲存模型的可擴充套件的分散式資料庫,支援大型表的儲存結構化資料。
7 、 Pig :是一個平行計算的高階的資料流語言和執行框架 , SQL-like 語言,是在 MapReduce 上構建的一種高階查詢語言,把一些運算編譯進 MapReduce 模型的 Map 和 Reduce 中,並且使用者可以定義自己的功能。
8 、 ZooKeeper : Google 的 Chubby 一個開源的實現。它是一個針對大型分散式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、分散式同步、組服務等。 ZooKeeper 的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能穩定的系統提供給使用者。
9 、 Chukwa :一個管理大型分散式系統的資料採集系統 由 yahoo 貢獻。
10 、 Cassandra :無單點故障的可擴充套件的多主資料庫 。
11 、 Mahout :一個可擴充套件的機器學習和資料探勘庫 。
Hadoop 設計之初的目標就定位於高可靠性、高可擴充性、高容錯性和高效性,正是這些設計上與生俱來的優點,才使得 Hadoop 一出現就受到眾多大公司的青睞,同時也引起了研究界的普遍關注。到目前為止, Hadoop 技術在網際網路領域已經得到了廣泛的運用,如 Yahoo 、 Facebook 、 Adobe 、 IBM 、百度、阿里巴巴、騰訊、華為、中國移動等。
關於怎樣學習hadoop ,首先要了解並且深刻認識什麼是 hadoop ,它的原理以及作用是什麼,包括基本構成是什麼,分別有什麼作用,當然,在學習之前,至少要掌握一門基礎語言,這樣在學習起來才會事半功倍。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2732475/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Hadoop學習Hadoop
- [hadoop]hadoop學習路線Hadoop
- Hadoop學習——MapReduceHadoop
- 零基礎學習Hadoop,該如何下手?Hadoop
- 如何在Hadoop 2.0上實現深度學習?Hadoop深度學習
- Hadoop學習筆記——————1、Hadoop概述Hadoop筆記
- hadoop 學習筆記Hadoop筆記
- hadoop學習記錄Hadoop
- hadoop學習筆記(十)——hadoop + hbase + zookeeperHadoop筆記
- 想轉行大資料,如何開始學習 Hadoop?大資料Hadoop
- Hadoop學習筆記—YarnHadoop筆記Yarn
- Hadoop學習筆記—HDFSHadoop筆記
- Apache Hadoop Yarn 學習(二)ApacheHadoopYarn
- Hadoop學習路線圖Hadoop
- 【整理】Hadoop學習資料Hadoop
- Hadoop學習筆記—17.Hive框架學習Hadoop筆記Hive框架
- Hadoop學習——Client原始碼分析Hadoopclient原始碼
- Hadoop學習之YARN及MapReduceHadoopYarn
- Hadoop 學習之-HBase安裝Hadoop
- Hadoop技術學習報告Hadoop
- [Hadoop]以前整理的一份Hadoop學習指南Hadoop
- hadoop學習之hadoop完全分散式叢集安裝Hadoop分散式
- 大資料學習之Hadoop如何高效處理大資料大資料Hadoop
- Hadoop學習(二)——MapReduce\Yarn架構HadoopYarn架構
- 學習Hadoop最佳書籍推薦Hadoop
- 學習hadoop需要什麼基礎?Hadoop
- Hadoop學習之路(六)HDFS基礎Hadoop
- hadoop學習-HDFS的詳細概述Hadoop
- 【Hadoop學習】HDFS基本原理Hadoop
- 精心收集的Hadoop學習資料Hadoop
- hadoop hive hbase 入門學習 (三)HadoopHive
- Hadoop 學習之-原始碼繫結Hadoop原始碼
- Hadoop2.x學習筆記Hadoop筆記
- hadoop1.X學習筆記Hadoop筆記
- Hadoop學習筆記 - Sort / TeraSort / TestDFSIOHadoop筆記
- 學習七:Hadoop小程式測試Hadoop
- 學習一:hadoop 1.0.1叢集安裝Hadoop
- Hadoop學習筆記(一)——RPCHadoop筆記RPC