hadoop是什么?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。HDFS為海量的數據提供了存儲,則MapReduce為海量的數據提供了計算。
項目起源
Hadoop由 Apache Software Foundation 公司于 2005 年秋天作為Lucene的子項目Nutch的一部分正式引入。它受到最先由 Google Lab 開發的 Map/Reduce 和 Google File System(GFS) 的啟發。
2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS) 分別被納入稱為 Hadoop 的項目中。
Hadoop 是最受歡迎的在 Internet 上對搜索關鍵字進行內容分類的工具,但它也可以解決許多要求極大伸縮性的問題。例如,如果您要 grep 一個 10TB 的巨型文件,會出現什么情況?在傳統的系統上,這將需要很長的時間。但是 Hadoop 在設計時就考慮到這些問題,采用并行執行機制,因此能大大提高效率。
發展歷程
Hadoop原本來自于谷歌一款名為MapReduce的編程模型包。谷歌的MapReduce框架可以把一個應用程序分解為許多并行計算指令,跨大量的計算節點運行非常巨大的數據集。使用該框架的一個典型例子就是在網絡數據上運行的搜索算法。Hadoop 最初只與網頁索引有關,迅速發展成為分析大數據的領先平臺。
目前有很多公司開始提供基于Hadoop的商業軟件、支持、服務以及培訓。Cloudera是一家美國的企業軟件公司,該公司在2008年開始提供基于Hadoop的軟件和服務。GoGrid是一家云計算基礎設施公司,在2012年,該公司與Cloudera合作加速了企業采納基于Hadoop應用的步伐。Dataguise公司是一家數據安全公司,同樣在2012年該公司推出了一款針對Hadoop的數據保護和風險評估。
Hadoop應用案例—全球著名企業應用案例
美國國會圖書館是全球最大的圖書館,自1800年設立至今,收藏了超過1.5億個實體對象,包括書籍、影音、老地圖、膠卷等,數字數據量也達到了235TB,但美國eBay拍賣網站,8千萬名用戶每天產生的數據量就有50TB,5天就相當于1座美國國會圖書館的容量。
在國外,不只eBay這種跨國電子商務業者感受到巨量數據的沖擊,其他如美國連鎖超市龍頭Wal-Mart、發行信用卡的Visa公司等,在臺灣如臺灣集成電路(臺積電)、中華電信等手上擁有大量顧客資料的企業,都紛紛感受到這股如海嘯般來襲的Big Data巨量資料浪潮。這樣的巨量數據并非是沒有價值的數據,其中潛藏了許多使用者親身經驗的第一手原始數據,不少企業更是從中嗅到了商機。
這些企業紛紛向最早面臨大數據挑戰的搜索引擎業者Google、Yahoo取經,學習處理巨量數據的技術和經驗,其中,最受這些企業青睞,用來解決巨量數據難題的技術就是Apache基金會的分布式計算技術Hadoop項目。
Hadoop應用案例1-全球最大超市業者 Wal-Mart
Wal-Mart分析顧客商品搜索行為,找出超越競爭對手的商機
全球最大連鎖超市Wal-Mart利用Hadoop來分析顧客搜尋商品的行為,以及用戶透過搜索引擎尋找到Wal-Mart網站的關鍵詞,利用這些關鍵詞的分析結果發掘顧客需求,以規畫下一季商品的促銷策略,甚至打算分析顧客在Facebook、Twitter等社交網站上對商品的討論,期望能比競爭對手提前一步發現顧客需求。
Wal-Mart雖然十年前就投入在線電子商務,但在線銷售的營收遠遠落后于Amazon。后來,Wal-Mart決定采用Hadoop來分析顧客搜尋商品的行為,以及用戶透過搜索引擎尋找到Wal-Mart網站的關鍵詞,利用這些關鍵詞的分析結果發掘顧客需求,以規畫下一季商品的促銷策略。他們并進一步打算要分析顧客在Facebook、Twitter等社交網站上對商品的討論,甚至Wal-Mart能比父親更快知道女兒懷孕的消息,并且主動寄送相關商品的促銷郵件,可說是比競爭對手提前一步發現顧客。
Hadoop應用案例2-全球最大拍賣網站 eBay
eBay用Hadoop拆解非結構性巨量數據,降低數據倉儲負載
經營拍賣業務的eBay則是用Hadoop來分析買賣雙方在網站上的行為。eBay擁有全世界最大的數據倉儲系統,每天增加的數據量有50TB,光是儲存就是一大挑戰,更遑論要分析這些數據,而且更困難的挑戰是這些數據報括了結構化的數據和非結構化的數據,如照片、影片、電子郵件、用戶的網站瀏覽Log記錄等。
eBay是全球最大的拍賣網站,8千萬名用戶每天產生的數據量就達到50TB,相當于五天就增加了1座美國國會圖書館的數據量。這些數據報括了結構化的數據,和非結構化的數據如照片、影片、電子郵件、用戶的網站瀏覽Log記錄等。eBay正是用Hadoop來解決同時要分析大量結構化數據和非結構化的難題。
eBay分析平臺高級總監Oliver Ratzesberger也坦言,大數據分析最大的挑戰就是要同時處理結構化以及非結構化的數據。
eBay在5年多前就另外建置了一個軟硬件整合的平臺Singularity,搭配壓縮技術來解決結構化數據和半結構化數據分析問題,3年前更在這個平臺整合了Hadoop來處理非結構化數據,透過Hadoop來進行數據預先處理,將大塊結構的非結構化數據拆解成小型數據,再放入數據倉儲系統的數據模型中分析,來加快分析速度,也減輕對數據倉儲系統的分析負載。
Hadoop應用案例3-全球最大信用卡公司 Visa
Visa快速發現可疑交易,1個月分析時間縮短成13分鐘
Visa公司則是擁有一個全球最大的付費網絡系統VisaNet,作為信用卡付款驗證之用。2009年時,每天就要處理1.3億次授權交易和140萬臺ATM的聯機存取。為了降低信用卡各種詐騙、盜領事件的損失,Visa公司得分析每一筆事務數據,來找出可疑的交易。雖然每筆交易的數據記錄只有短短200位,但每天VisaNet要處理全球上億筆交易,2年累積的資料多達36TB,過去光是要分析5億個用戶賬號之間的關聯,得等1個月才能得到結果,所以,Visa也在2009年時導入了Hadoop,建置了2套Hadoop叢集(每套不到50個節點),讓分析時間從1個月縮短到13分鐘,更快速地找出了可疑交易,也能更快對銀行提出預警,甚至能及時阻止詐騙交易。
這套被眾多企業賴以解決大數據難題的分布式計算技術,并不是一項全新的技術,早在2006年就出現了,而且Hadoop的核心技術原理,更是源自Google打造搜索引擎的關鍵技術,后來由Yahoo支持的開源開發團隊發展成一套Hadoop分布式計算平臺,也成為Yahoo內部打造搜索引擎的關鍵技術。
[page]大數據與Hadoop之間的關系
大數據,一種新興的數據挖掘技術,它正在讓數據處理和分析變得更便宜更快速。大數據技術一旦進入超級計算時代,很快便可應用于普通企業,在遍地開花的過程中,它將改變許多行業業務經營的模式。但是很多人對大數據存在誤解,下面就來縷一縷大數據與Hadoop之間的關系。
我們都聽過這個預測:到2020年,電子數據存儲量將在2009年的基礎上增加44倍,達到35萬億GB。根據IDC數據顯示,截止到2010年,這個數字已經達到了120萬PB,或1.2ZB。如果把所有這些數據都存入DVD光盤,光盤高度將等同于從地球到月球的一個來回也就是大約 480,000英里。
對于那些喜歡杞人憂天的人來說,這是數據存儲的末日即將到來的不祥預兆。而對于機會主義者們而言,這就好比是個信息金礦,隨著技術的進步,金礦開采會變得越來越容易。
走進大數據,一種新興的數據挖掘技術,它正在讓數據處理和分析變得更便宜更快速。大數據技術一旦進入超級計算時代,很快便可應用于普通企業,在遍地開花的過程中,它將改變許多行業業務經營的模式。
在計算機世界里,大數據被定義為一種使用非傳統的數據過濾工具,對大量有序或無序數據集合進行的挖掘過程,它包括但不僅限于分布式計算(Hadoop)。
大數據已經站在了數據存儲宣傳的風口浪尖,也存在著大量不確定因素,這點上非常像“云”。我們請教了一些分析人士和大數據愛好者,請他們解釋一下大數據究竟是什么,以及它對于未來數據存儲的意義。
大數據走進歷史舞臺
適用于企業的大數據已經出現,這在部分程度上要歸功于計算能耗的降低以及系統已具備執行多重處理的能力這樣一個事實。而且隨著主存儲器成本的不斷下降,和過去相比,公司可以將更多的數據存到存儲器中。并且,將多臺計算機連到服務器集群也變得更容易了。這三個變化加在一起成就了大數據,IDC 數據庫管理分析師Carl Olofson如是說。
“我們不僅要把這些事情做好,還要能承受得起相應的開支”,他說。 “過去的某些超級計算機也具有執行系統多重處理的能力,(這些系統緊密相連,形成了一個集群)但因為要使用專門的硬件,它的成本高達幾十萬美元甚至更多。”現在我們可以使用普通硬件完成相同的配置。正因為這樣,我們能更快更省得處理更多數據。"
大數據技術還沒有在有大型數據倉庫的公司中得到廣泛普及。IDC認為,想讓大數據技術得到認可,首先技術本身一定要足夠便宜,然后,必須滿足IBM稱之為3V標準中的2V,即:類型(variety),量(volume)和速度(velocity)。
種類要求指的是待存儲數據的類型分為結構化數據和非結構化數據。量是指存儲和分析的數據量可以很龐大。 “數據量不只是幾百TB,”
Olofson說: “要視具體情況而定,因為速度和時間的關系,有時幾百GB可能就算很多了。如果我現在一秒能完成過去要花一小時才能完成的300GB的數據分析,那結果將大為不同。大數據就是這樣一種技術,它可以滿足這三個要求中的至少兩個,并且普通企業也能夠部署。”
關于大數據的三大誤解
對于大數據是什么以及大數據能干什么存在很多誤會。下面就是有關大數據的三個誤解:
1、關系數據庫無法大幅增容,因此不能被認為是大數據技術(不對)
2、無需考慮工作負載或具體使用情況,Hadoop或以此類推的任何MapReduce都是大數據的最佳選擇。(也不對)
3、圖解式管理系統時代已經結束。圖解的發展只會成為大數據應用的攔路虎。(可笑的錯誤)
大數據與開源的關系
“很多人認為Hadoop和大數據基本上是一個意思。這是錯誤的,”Olofson說。并解釋道: Teradata, MySQL和“智能聚合技術”的某些安裝啟用都用不到Hadoop,但它們也可以被認為是大數據。
Hadoop是一種用于大數據的應用程序,因為它是建立在MapReduce基礎上的,所以引起了極大的關注。(MapReduce是一種用于超級計算的普通方法,之后經過了主要由Google資助的一個項目的優化,因此被簡化并變得考究了。) Hadoop是幾個緊密關聯的Apache項目組成的混合體的主要安裝啟用程序,其中包括MapReduce環境中的HBase數據庫。
為了充分利用Hadoop和類似的先進技術,軟件開發商們絞盡腦汁研發出了各種各樣的技術,其中很多都是在開源社區里開發出來的。
Olofson 說“他們已經開發出了大量的所謂noSQL數據庫,種類之多讓人眼花繚亂,其中大部分都是鍵值配對數據庫,能利用多種技術對性能或種類或容量進行優化。”
開源技術還沒有得到商業支持。“所以在這方面還需要經過一段時間的發展完善,這一過程可能需要幾年。基于這個原因,大數據可能需要一些時日才能在市場上走向成熟”他補充道。
據IDC預計,年內至少有三家商業公司能以某種方式給予Hadoop支持。同時,包括Datameer 在內的幾家企業將發布配有Hadoop組件的分析工具,這種工具能幫助企業開發自己的應用程序。Cloudera和Tableau公司的產品清單里已經出現了Hadoop。
hadoop是什么?在閱讀完上面的資料后,相信讀者對hadoop有了一定了解。