Hadoop學習之路(二)Hadoop發展背景


Hadoop產生的背景

1. HADOOP最早起源於Nutch。Nutch的設計目標是構建一個大型的全網搜索引擎,包括網頁抓取、索引、查詢等功能,但隨着抓取網頁數量的增加,遇到了嚴重的可擴展性問題——如何解決數十億網頁的存儲和索引問題。

2. 2003年開始谷歌陸續發表的三篇論文為該問題提供了可行的解決方案

——分布式文件系統(GFS),可用於處理海量網頁的存儲

——分布式計算框架MAPREDUCE,可用於處理海量網頁的索引計算問題。

——BigTable 數據庫:OLTP 聯機事務處理 Online Transaction Processing 增刪改
          OLAP 聯機分析處理 Online Analysis Processing 查詢
          真正的作用:提供了一種可以在超大數據集中進行實時CRUD操作的功能

3.Nutch的開發人員完成了相應的開源實現HDFS和MAPREDUCE,並從Nutch中剝離成為獨立項目HADOOP,到2008年1月,HADOOP成為Apache頂級項目,迎來了它的快速發展期。

Hadoop是啥

Hadoop的官網:http://hadoop.apache.org/

1、Hadoop是Apache旗下的一套開源軟件平台

2、Hadoop提供的功能:利用服務器集群,根據戶自定義業邏輯對海量數進行分布式處理

3、Hadoop的核心組件:

  1)Hadoop Common:支持其他Hadoop模塊的常用工具。

  2)  Hadoop分布式文件系統(HDFS™):一種分布式文件系統,可提供對應用程序數據的高吞吐量訪問。

  3)  Hadoop YARN:作業調度和集群資源管理的框架。

  4)  Hadoop MapReduce:一種用於並行處理大型數據集的基於YARN的系統。

  大數據的處理主要就是存儲計算

如果說安裝hadoop集群,其實就是安裝了兩個東西: 一個操作系統YARN一個文件系統HDFS。其實MapReduce就是運行在YARN之上的應用。

操作系統   文件系統   應用程序
win7     NTFS     QQ,WeChat
YARN     HDFS       MapReduce

4、hadoop的概念:

  狹義上: 就是apache的一個頂級項目:apahce hadoop

  廣義上: 就是指以hadoop為核心的整個大數據處理體系

5、Apache的其他Hadoop相關項目包括:

  • Ambari™:一種用於供應,管理和監控Apache Hadoop集群的基於Web的工具,其中包括對Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari還提供了一個用於查看群集運行狀況的儀表板,例如熱圖和可以直觀地查看MapReduce,Pig和Hive應用程序的功能,以及以用戶友好的方式診斷其性能特征的功能。
  • Avro™:數據序列化系統。
  • Cassandra™:無單點故障的可擴展多主數據庫。
  • Chukwa™:管理大型分布式系統的數據收集系統。
  • HBase™:可擴展的分布式數據庫,支持大型表格的結構化數據存儲。
  • Hive™:提供數據匯總和即席查詢的數據倉庫基礎架構。
  • Mahout™:可擴展的機器學習和數據挖掘庫。
  • Pig™:用於並行計算的高級數據流語言和執行框架。
  • Spark™:用於Hadoop數據的快速和通用計算引擎。Spark提供了一個簡單而富有表現力的編程模型,它支持廣泛的應用程序,包括ETL,機器學習,流處理和圖計算。
  • Tez™:一種基於Hadoop YARN的通用數據流編程框架,它提供了一個強大且靈活的引擎,可執行任意DAG任務來處理批處理和交互式用例的數據。Hado™,Pig™和Hadoop生態系統中的其他框架以及其他商業軟件(例如ETL工具)正在采用Tez來替代Hadoop™MapReduce作為底層執行引擎。
  • ZooKeeper™:分布式應用程序的高性能協調服務。

HADOOP在大數據、雲計算中的位置和關系

1、雲計算是分布式計算、並行計算、網格計算、多核計算、網絡存儲、虛擬化、負載均衡等傳統計算機技術和互聯網技術融合發展的產物。借助IaaS(基礎設施即服務)、PaaS(平台即服務)、SaaS(軟件即服務)等業務模式,把強大的計算能力提供給終端用戶。1、

2、現階段,雲計算的兩大底層支撐技術為“虛擬化”和“大數據技術

3、 而HADOOP則是雲計算的PaaS層的解決方案之一,並不等同於PaaS,更不等同於雲計算本身。

Hadoop的技術應用

HADOOP應用於數據服務基礎平台建設

HADOOP用於用戶畫像

 

 該圖是中國電信的用戶畫像標簽體系。

HADOOP用於網站點擊流日志數據挖掘

總結:hadoop並不會跟某個具體的行業或者某個具體的業務掛鈎,它只是一種用來做海量數據分析處理的工具。

HADOOP生態圈以及各組成部分的簡介

 

重點組件:

HDFS:Hadoop的分布式文件存儲系統。

MapReduce:Hadoop的分布式程序運算框架,也可以叫做一種編程模型。

Hive:基於Hadoop的類SQL數據倉庫工具

Hbase:基於Hadoop的列式分布式NoSQL數據庫

ZooKeeper:分布式協調服務組件

Mahout:基於MapReduce/Flink/Spark等分布式運算框架的機器學習算法庫

Oozie/Azkaban:工作流調度引擎

Sqoop:數據遷入遷出工具

Flume:日志采集工具

獲取數據的三種方式

1、自己公司收集的數據--日志     或者     數據庫中的數據

2、有一些數據可以通過爬蟲從網絡中進行爬取

3、從第三方機構購買

國內HADOOP的就業情況分析

1、HADOOP就業整體情況

A. 大數據產業已納入國家十三五規划

B. 各大城市都在進行智慧城市項目建設,而智慧城市的根基就是大數據綜合平台

C. 互聯網時代數據的種類,增長都呈現爆發式增長,各行業對數據的價值日益重視

D. 相對於傳統JAVAEE技術領域來說,大數據領域的人才相對稀缺

E. 隨着現代社會的發展,數據處理和數據挖掘的重要性只會增不會減,因此,大數據技術是一個尚在蓬勃發展且具有長遠前景的領域

2、 HADOOP就業職位要求

大數據是個復合專業,包括應用開發、軟件平台、算法、數據挖掘等,因此,大數據技術領域的就業選擇是多樣的,但就HADOOP而言,通常都需要具備以下技能或知識:

硬實力

A. HADOOP分布式集群的平台搭建

B. HADOOP分布式文件系統HDFS的原理理解及使用

C. HADOOP分布式運算框架MAPREDUCE的原理理解及編程

D. Hive數據倉庫工具的熟練應用

E. Flume、sqoop、oozie等輔助工具的熟練使用

F. Shell/python等腳本語言的開發能力

軟實力

A.  解決問題的能力(調試,閱讀文檔)

B.  溝通協調能力(尋求幫助)

C.  學習提升自己的能力(自我提高)

D.   組織管控能力(管理能力)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM