1. 程式人生 > >【大數據學習】-什麽是Hadoop

【大數據學習】-什麽是Hadoop

網站 方案 微軟 開拓者 搜索 初創 市場 互聯網公司 med

什麽是大數據

所謂大數據,是指數據量龐大、產生數度快、結構多樣的價值密度低的數據。其中,數據量龐大是指數據規模超出1、2臺高性能主機所能處理範圍;結構多樣性是指除了關系型數據庫能夠處理的結構化數據還包含半結構化數據(如各類傳感設備必如地鎊、衛星、GPS設備等產生的純文本格式的數據,還有良心網站NASA官網公布的txt格式的空間天氣數據等成行成列的數據)和非結構化數據(視頻、圖像等)。這些數據的價值密度普遍較低(和具體的應用範圍也有關系,比如NASA的數據,如果想知道某天的太陽射電情況,看當天發布的txt就好了,價值密度很高,但是這就不算大數據了,因為需要采集的數據量很小;如果想知道過去N年太陽射電的極值就需要處理很多數據,這些數據的價值密度就低了),大數據處理的目的就是從價值密度的數據裏把有價值的數據過濾分析出來。

“大數據”這三個字非技術語言,更多的是市場語言(Marketing Language),其背後是硬件、數據庫、操作系統、Hadoop等一系列技術的應用。

什麽是Hadoop

Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。

說到Hadoop的起源,不得不提到Google。Google(自稱)為雲計算概念的提出者,在自身多年的搜索引擎業務中構建了突破性的GFS(Google File System),從此文件系統進入分布式時代。除此之外,Google在GFS上如何快速分析和處理數據方面開創了MapReduce並行計算框架,讓以往的高端服務器計算變為廉價的x86集群計算,也讓許多互聯網公司能夠從IOE(IBM小型機、Oracle數據庫以及EMC存儲)中解脫出來。然而,Google之所以偉大就在於獨享技術不如共享技術,在2002-2004年間以三大論文的發布向世界推送了其雲計算的核心組成部分GFS、MapReduce以及BigTable。Google雖然沒有將其核心技術開源,但是這三篇論文( “The Google File System”、“Mapreduce:Simplified Data Processing on Large Clusters”)已經向開源社區的大牛們指明了方向,Hadoop之父-Doug Cutting使用Java語言對Google的雲計算核心技術(主要是GFS和MapReduce)做了開源的實現。

演變關系:

GF->HDFS
Google MapReduce->Hadoop MapReduce
BigTable->HBase

Hadoop LOGO的名字由來:DougCutting 家小孩兒為一直黃色大象玩具起得名字。

Hadoop編年史

  • 2002年10月,Doug Cutting和Mike Cafarella創建了開源網頁爬蟲項目Nutch。
  • 2003年10月,Google發表Google File System論文。
  • 2004年07月,Doug Cutting和Mike Cafarella在Nutch中實現了類似GFS的功能,即後來HDFS的前身。
  • 2004年10月,Google發表了MapReduce論文。
  • 2005年02月,Mike Cafarella在Nutch中實現了MapReduce的最初版本。
  • 2005年12月,開源搜索項目Nutch移植到新框架,使用MapReduce和NDFS(Nutch Distributed File System )來運行,在20個節點穩定運行。
  • 2006年01月,Doug Cutting加入雅虎,Yahoo!提供一個專門的團隊和資源將Hadoop發展成一個可在網絡上運行的系統。
  • 2006年02月,Apache Hadoop項目正式啟動以支持MapReduce和HDFS的獨立發展。
  • 2006年02月,Yahoo!的網格計算團隊采用Hadoop。
  • 2006年03月,Yahoo!建設了第一個Hadoop集群用於開發。
  • 2006年04月,第一個Apache Hadoop發布。
  • 2006年04月,在188個節點上(每個節點10GB)運行排序測試集需要47.9個小時。
  • 2006年05月,Yahoo!建立了一個300個節點的Hadoop研究集群。
  • 2006年05月,在500個節點上運行排序測試集需要42個小時(硬件配置比4月的更好)。
  • 2006年11月,研究集群增加到600個節點。
  • 2006年11月,Google發表了Bigtable論文,這最終激發了Hbase的創建。
  • 2006年12月,排序測試集在20個節點上運行1.8個小時,100個節點上運行3.3小時,500個節點上運行5.2小時,900個節點上運行7.8個小時。
  • 2007年01月,研究集群增加到900個節點。
  • 2007年04月,研究集群增加到兩個1000個節點的集群。
  • 2007年10月,第一個Hadoop用戶組會議召開,社區貢獻開始急劇上升。
  • 2007年,百度開始使用Hadoop做離線處理。
  • 2007年,中國移動開始在“大雲”研究中使用Hadoop技術。
  • 2008年,淘寶開始投入研究基於Hadoop的系統——雲梯,並將其用於處理電子商務相關數據。
  • 2008年1月,Hadoop成為Apache頂級項目。
  • 2008年2月,Yahoo!運行了世界上最大的Hadoop應用,宣布其搜索引擎產品部署在一個擁有1萬個內核的Hadoop集群上。
  • 2008年4月,在900個節點上運行1TB排序測試集僅需209秒,成為世界最快。
  • 2008年6月,Hadoop的第一個SQL框架——Hive成為了Hadoop的子項目。
  • 2008年7月,Hadoop打破1TB數據排序基準測試記錄。Yahoo!的一個Hadoop集群用209秒完成1TB數據的排序 ,比上一年的紀錄保持者保持的297秒快了將近90秒。
  • 2008年8月,第一個Hadoop商業化公司Cloudera成立。
  • 2008年10月,研究集群每天裝載10TB的數據。
  • 2008年11月,Apache Pig的最初版本發布。
  • 2009年3月,17個集群總共24000臺機器。
  • 2009 年3月,Cloudera推出世界上首個Hadoop發行版——CDH(Cloudera‘s Distribution including Apache Hadoop)平臺,完全由開放源碼軟件組成。
  • 2009年4月,贏得每分鐘排序,59秒內排序500GB(在1400個節點上)和173分鐘內排序100TB數據(在3400個節點上)。
  • 2009年5月,Yahoo的團隊使用Hadoop對1TB的數據進行排序只花了62秒時間。
  • 2009年6月,Cloudera的工程師Tom White編寫的《Hadoop權威指南》初版出版,後被譽為Hadoop聖經。
  • 2009年7月 ,Hadoop Core項目更名為Hadoop Common;
  • 2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成為Hadoop項目的獨立子項目。
  • 2009年7月 ,Avro 和 Chukwa 成為Hadoop新的子項目。
  • 2009年8月,Hadoop創始人Doug Cutting加入Cloudera擔任首席架構師。
  • 2009年10月,首屆Hadoop World大會在紐約召開。
  • 2010年5月 ,Avro脫離Hadoop項目,成為Apache頂級項目。
  • 2010年5月 ,HBase脫離Hadoop項目,成為Apache頂級項目。
  • 2010年5月,IBM提供了基於Hadoop 的大數據分析軟件——InfoSphere BigInsights,包括基礎版和企業版。
  • 2010年9月,Hive( Facebook) 脫離Hadoop,成為Apache頂級項目。
  • 2010年9月,Pig脫離Hadoop,成為Apache頂級項目。
  • 2010年-2011年,擴大的Hadoop社區忙於建立大量的新組件(Crunch,Sqoop,Flume,Oozie等)來擴展Hadoop的使用場景和可用性。
  • 2011年1月,ZooKeeper 脫離Hadoop,成為Apache頂級項目。
  • 2011年3月,Apache Hadoop獲得Media Guardian Innovation Awards 。
  • 2011年3月, Platform Computing 宣布在它的Symphony軟件中支持Hadoop MapReduce API。
  • 2011年5月,Mapr Technologies公司推出分布式文件系統和MapReduce引擎——MapR Distribution for Apache Hadoop。
  • 2011年5月,HCatalog 1.0發布。該項目由Hortonworks 在2010年3月份提出,HCatalog主要用於解決數據存儲、元數據的問題,主要解決HDFS的瓶頸,它提供了一個地方來存儲數據的狀態信息,這使得 數據清理和歸檔工具可以很容易的進行處理。
  • 2011年4月,SGI(Silicon Graphics International)基於SGI Rackable和CloudRack服務器產品線提供Hadoop優化的解決方案。
  • 2011年5月,EMC為客戶推出一種新的基於開源Hadoop解決方案的數據中心設備——GreenPlum HD,以助其滿足客戶日益增長的數據分析需求並加快利用開源數據分析軟件。Greenplum是EMC在2010年7月收購的一家開源數據倉庫公司。
  • 2011年5月,在收購了Engenio之後, NetApp推出與Hadoop應用結合的產品E5400存儲系統。
  • 2011年6月,Calxeda公司發起了“開拓者行動”,一個由10家軟件公司組成的團隊將為基於Calxeda即將推出的ARM系統上芯片設計的服務器提供支持。並為Hadoop提供低功耗服務器技術。
  • 2011年6月,數據集成供應商Informatica發布了其旗艦產品,產品設計初衷是處理當今事務和社會媒體所產生的海量數據,同時支持Hadoop。
  • 2011年7月,Yahoo!和矽谷風險投資公司 Benchmark Capital創建了Hortonworks 公司,旨在讓Hadoop更加可靠,並讓企業用戶更容易安裝、管理和使用Hadoop。
  • 2011年8月,Cloudera公布了一項有益於合作夥伴生態系統的計劃——創建一個生態系統,以便硬件供應商、軟件供應商以及系統集成商可以一起探索如何使用Hadoop更好的洞察數據。
  • 2011年8月,Dell與Cloudera聯合推出Hadoop解決方案——Cloudera Enterprise。Cloudera Enterprise基於Dell PowerEdge C2100機架服務器以及Dell PowerConnect 6248以太網交換機。
  • 2012年3月,企業必須的重要功能HDFS NameNode HA被加入Hadoop主版本。
  • 2012年8月,另外一個重要的企業適用功能YARN成為Hadoop子項目。
  • 2012年10月,第一個Hadoop原生MPP查詢引擎Impala加入到了Hadoop生態圈。
  • 2014年2月,Spark逐漸代替MapReduce成為Hadoop的缺省執行引擎,並成為Apache基金會頂級項目。
  • 2015年2月,Hortonworks和Pivotal抱團提出“Open Data Platform”的倡議,受到傳統企業如Microsoft、IBM等企業支持,但其它兩大Hadoop廠商Cloudera和MapR拒絕參與。
  • 2015年10月,Cloudera公布繼HBase以後的第一個Hadoop原生存儲替代方案——Kudu。
  • 2015年12月,Cloudera發起的Impala和Kudu項目加入Apache孵化器。

Hadoop能做什麽

Hadoop是一種開源的適合大數據的分布式存儲分布式處理的軟件平臺。用戶可以在不了解分布式底層細節的情況下,輕松地在Hadoop上開發和運行處理海量數據的應用程序,充分利用集群的威力進行高速運算和存儲。

不管是國外的著名公司Google、Yahoo!、微軟、亞馬遜、 EBay、FaceBook、Twitter、LinkedIn等和初創公司Cloudera、Hortonworks等,又還是國內的著名公司中國移動、阿裏巴巴、華為、騰訊、百度、網易、京東商城等,都在使用Hadoop及相關技術解決大規模化數據問題,以滿足公司需求和創造商業價值。

例如:Yahoo! 的垃圾郵件識別和過濾、用戶特征建模系統;Amazon.com(亞馬遜)的協同過濾推薦系統;Facebook的Web日誌分析;Twitter、LinkedIn的人脈尋找系統;淘寶商品推薦系統、淘寶搜索中的自定義篩選功能……這些應用都使用到Hadoop及其相關技術。

“Hadoop能做什麽?”,概括如下:

  1)搜索引擎:這也正是Doug Cutting設計Hadoop的初衷,為了針對大規模的網頁快速建立索引;

  2)大數據存儲:利用Hadoop的分布式存儲能力,例如數據備份、數據倉庫等;

  3)大數據處理:利用Hadoop的分布式處理能力,例如數據挖掘、數據分析等;

  4)科學研究:Hadoop是一種分布式的開源框架,對於分布式系統有很大程度地參考價值。

Hadoop主要有以下幾個優點:

  1. 高可靠性(Rellable):能自動維護數據的多份復制,並且在任務失敗後能自動地重新部署(redeploy)計算任務。所以Hadoop的按位存儲和處理數據的能力值得人們信賴。
  2. 高擴展性(Scalable):Hadoop是在可用的計算機集簇間分配數據並完成計算任務的,這些集簇可以方便地擴展到數以千計的節點中。
  3. 高效性(Efficient):Hadoop能夠在節點之間動態地移動數據,並保證各個節點的動態平衡,因此處理速度非常快。
  4. 低成本(Economical):與一體機、商用數據倉庫以及QlikView、Yonghong Z-Suite等數據集市相比,hadoop是開源的,項目的軟件成本因此會大大降低。Hadoop通過普通廉價的機器組成服務器集群來分發以及處理數據,以至於成本很低。

Hadoop得以在大數據處理應用中廣泛應用得益於其自身在數據提取、變形和加載(ETL)方面上的天然優勢。Hadoop的分布式架構,將大數據處理引擎盡可能的靠近存儲,對例如像ETL這樣的批處理操作相對合適,因為類似這樣操作的批處理結果可以直接走向存儲。Hadoop的MapReduce功能實現了將單個任務打碎,並將碎片任務(Map)發送到多個節點上,之後再以單個數據集的形式加載(Reduce)到數據倉庫裏。

-----------------------------------------------------------------------------------------------------------------------------------------------------------

參考資料:

博客:http://www.cnblogs.com/mephisto/p/4835569.html

博客:https://www.cnblogs.com/zzy0471/p/5701074.html

博客:https://www.cnblogs.com/maybe2030/p/4593190.html

博客:https://www.cnblogs.com/sharpxiajun/p/3151395.html

博客:https://blog.csdn.net/zmx729618/article/details/78529957

博客:https://www.cnblogs.com/meet/p/5435979.html

博客:https://blog.csdn.net/lfq1532632051/article/details/53219558

等等...

【大數據學習】-什麽是Hadoop