大數(shù)據(jù)在2014年逐漸爆發(fā),越來越多的企業(yè)發(fā)現(xiàn)了大數(shù)據(jù)的用途,不僅可以用來管理每天的業(yè)務流程,還能解決復雜的商業(yè)問題。大數(shù)據(jù)很快躍升為熱點詞,并將自己打造成可以解決大大小小商業(yè)實體問題的可靠技術。
大數(shù)據(jù),顧名思義,就是在我們周圍存在的巨大量級數(shù)據(jù),這些數(shù)據(jù)可以是在智能設備、互聯(lián)網(wǎng)、社交媒體、聊天室、移動APP、電話呼叫、商品購買等一系列使用活動中產(chǎn)生。大數(shù)據(jù)技術就是用來收集、存儲和分析這些量級(一般達到拍字節(jié))的信息。
大數(shù)據(jù)技術徹底改變了人們看待數(shù)據(jù)和數(shù)據(jù)庫存儲的方式,顛覆了數(shù)據(jù)的使用方法。在軍事上,大數(shù)據(jù)可以用來阻止外敵的入侵。在NBA比賽中,大數(shù)據(jù)技術可以捕獲和分析成千上萬的個體運動。醫(yī)學上使用大數(shù)據(jù)技術來抵抗癌癥和心臟病。汽車公司通過大數(shù)據(jù)技術實現(xiàn)汽車自駕和互通信。
大數(shù)據(jù)正在改變世界。那么,這一切的背后是什么軟件系統(tǒng)在支撐?大數(shù)據(jù)技術又是如何迅速流行并保持上升趨勢的呢?
答案是Hadoop。
很多人認為Hadoop就是大數(shù)據(jù)。其實并不是這樣的。大數(shù)據(jù)在Hadoop之前就產(chǎn)生了,而且在沒有Hadoop的情況下可以繼續(xù)存在。不過目前Hadoop是大數(shù)據(jù)的有力搭檔,它們有著密切的關系。正因為如此,導致很多人使用Hadoop,如今你幾乎找不到一家沒有使用Hadoop軟件的大數(shù)據(jù)公司。那么Hadoop到底是什么?
Hadoop是一個“軟件庫”,它讓用戶可以通過簡單的編程模型操縱計算機集群來處理大型數(shù)據(jù)集。換個說法就是,它讓企業(yè)有能力去收集、存儲和分析大量的數(shù)據(jù)集。
此外,理解Hadoop的一個很重要的方面是,它是一個軟件庫。Hadoop中包含大量的程序庫,這些程序補充基礎的Hadoop框架,讓企業(yè)有合適的工具去獲得想要的Hadoop結果。
接下來,讓我們了解一下Hadoop的生態(tài)系統(tǒng)。更多信息可以參見Hadoop官網(wǎng)。
Hadoop項目包括很多組件――Hadoop Common,Hadoop Distributed File System,Hadoop YARN和Hadoop MapReduce。這些組件系統(tǒng)共同提供給用戶并支持附加的Hadoop工程的工具,讓用戶有能力實時處理大數(shù)據(jù)集,在這里Hadoop自動調(diào)度任務和管理集群資源。
下面列出一些Hadoop組件,不同的組件分別提供特定的服務。
Apache Hive:數(shù)據(jù)倉庫基礎設施,提供數(shù)據(jù)匯總和特定查詢。這個系統(tǒng)支持用戶進行有效的查詢,并實時得到返回結果。
Apache Spark:Apache Spark是提供大數(shù)據(jù)集上快速進行數(shù)據(jù)分析的計算引擎。它建立在HDFS之上,卻繞過了MapReduce使用自己的數(shù)據(jù)處理框架。Spark常用于實時查詢、流處理、迭代算法、復雜操作運算和機器學習。
Apache Ambari:Ambari用來協(xié)助管理Hadoop。它提供對Hadoop生態(tài)系統(tǒng)中許多工具的支持,包括Hive、HBase、Pig、 Spooq和ZooKeeper。這個工具提供集群管理儀表盤,可以跟蹤集群運行狀態(tài),幫助診斷性能問題。
Apache Pig:Pig是一個集成高級查詢語言的平臺,可以用來處理大數(shù)據(jù)集。
Apache HBase:HBase是一個非關系型數(shù)據(jù)庫管理系統(tǒng),運行在HDFS之上。它用來處理大數(shù)據(jù)工程中稀疏數(shù)據(jù)集。
其他常見的Hadoop項目還包括Avro、Cassandra、Chukwa, Mahout和ZooKeeper。
用戶通過Hadoop可以利用許多工具和資源,用真正的大數(shù)據(jù)技術來適應不同的業(yè)務需求。