文章的標題看上去很幼齒很科普,但實際上那些天天觀賞大數據演講的管理層技術小白來說,他們永遠不會公開問出這個問題。
大數據是個鋪天蓋地的詞,而談論大數據又不可避免地要提到Hadoop,遺憾的是今天大多數大數據鼓吹者,甚至專業人士其實并不能說清楚Hadoop到底是什么玩意,以及有何功用,而他們的管理層小白聽眾更是一頭霧水。
眾所周知,Hadoop是Apache軟件基金會管理的開源軟件平臺,但Hadoop到底是什么呢?簡單來說,Hadoop是在分布式服務器集群上存儲海量數據并運行分布式分析應用的一種方法。
Hadoop被設計成一種非常“魯棒”的系統,即使某臺服務器甚至集群宕機了,運行其上的大數據分析應用也不會中斷。此外Hadoop的效率也很高,因為它并不需要你在網絡間來回搗騰數據。
以下是Apache的正式定義:
Apache Hadoop軟件庫是一個框架,允許在集群服務器上使用簡單的編程模型對大數據集進行分布式處理。Hadoop被設計成能夠從單臺服務器擴展到數以千計的服務器,每臺服務器都有本地的計算和存儲資源。Hadoop的高可用性并不依賴硬件,其代碼庫自身就能在應用層偵測并處理硬件故障,因此能基于服務器集群提供高可用性的服務。
如果更深入地分析,我們發現Hadoop還有更加精彩的特性。首先,Hadoop幾乎完全是模塊化的,這意味著你們能用其他軟件工具抽換掉Hadoop的模塊。這使得Hadoop的架構異常靈活,同時又不犧牲其可靠性和高效率。
Hadoop分布式文件系統(HDFS)
如果提起Hadoop你的大腦一片空白,那么請牢記住這一點:Hadoop有兩個主要部分:一個數據處理框架和一個分布式數據存儲文件系統(HDFS)。
HDFS就像Hadoop系統的籃子,你把數據整整齊齊碼放在里面等待數據分析大廚出手變成性感的大餐端到CEO的桌面上。當然,你可以在Hadoop進行數據分析,也可以見gHadoop中的數據“抽取轉換加載”到其他的工具中進行分析。
數據處理框架和MapReduce
顧名思義,數據處理框架是處理數據的工具。具體來說Hadoop的數據處理框架是基于Jave的系統——MapReduce,你聽到MapReduce的次數會比HDFS還要多,這是因為:
1.MapReduce是真正完成數據處理任務的工具
2.MapReduce往往會把它的用戶逼瘋
在常規意義上的關系型數據庫中,數據通過SQL(結構化查詢語言)被找到并分析,非關系型數據庫也使用查詢語句,只是不局限于SQL而已,于是有了一個新名詞NoSQL。
有一點容易搞混的是,Hadoop并不是一個真正意義上的數據庫:它能存儲和抽取數據,但并沒有查詢語言介入。Hadoop更多是一個
數據倉庫系統,所以需要MapReduce這樣的系統來進行真正的數據處理。
MapRduce運行一系列任務,其中每項任務都是單獨的Java應用,能夠訪問數據并抽取有用信息。使用MapReduce而不是查詢語言讓Hadoop數據分析的功能更加強大和靈活,但同時也導致技術復雜性大幅增加。
目前有很多工具能夠讓Hadoop更容易使用,例如Hive,可以將查詢語句轉換成MapReduce任務。但是MapReduce的復雜性和局限性(單任務批處理)使得Hadoop在更多情況下都被作為數據倉庫使用而非數據分析工具。參考閱讀:Hadoop只是窮人的ETL。
Hadoop的另外一個獨特之處是:所有的功能都是分布式的,而不是傳統數據庫的集中式系統。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:Hadoop到底是什么玩意?
本文網址:http://www.guhuozai8.cn/html/consultation/10820612299.html