一分鐘告訴你,什么是Hadoop
? ??大數(shù)據(jù)這個詞在當下十分流行,很多人都知道大數(shù)據(jù),我們現(xiàn)在也處于大數(shù)據(jù)時代。大數(shù)據(jù)我們知道了,那么Hadoop是什么你知道嗎?

一、Hadoop是什么?
????Hadoop是一種分析和處理大數(shù)據(jù)的軟件平臺,是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎架構,在大量計算機組成的集群當中實現(xiàn)了對于海量的數(shù)據(jù)進行的分布式計算。
????Hadoop以一種可靠、高效、可伸縮的方式進行數(shù)據(jù)處理;用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。
????Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲,MapReduce為海量的數(shù)據(jù)提供了計算。
????把HDFS理解為一個分布式的,有冗余備份的,可以動態(tài)擴展的用來存儲大規(guī)模數(shù)據(jù)的大硬盤。
????把MapReduce理解成為一個計算引擎,按照MapReduce的規(guī)則編寫Map計算/Reduce計算的程序,可以完成計算任務。

二、Hadoop能干什么?
大數(shù)據(jù)存儲:分布式存儲
日志處理:擅長日志分析
ETL:數(shù)據(jù)抽取到oracle、mysql、DB2、mongdb及主流數(shù)據(jù)庫
機器學習:?比如Apache Mahout項目
搜索引擎:Hadoop + lucene實現(xiàn)
數(shù)據(jù)挖掘:目前比較流行的廣告推薦,個性化廣告推薦
Hadoop是專為離線和大規(guī)模數(shù)據(jù)分析而設計的,并不適合那種對幾個記錄隨機讀寫的在線事務處理模式。
Hadoop的優(yōu)點:
高可靠性:Hadoop按位存儲和處理數(shù)據(jù)的能力值得人們信賴。
高擴展性:Hadoop是在可用的計算機集簇間分配數(shù)據(jù)并完成計算任務的,這些集簇可以方便地擴展到數(shù)以千計的節(jié)點中。
高效性:Hadoop能夠在節(jié)點之間動態(tài)地移動數(shù)據(jù),并保證各個節(jié)點的動態(tài)平衡,因此處理速度非???。
高容錯性:Hadoop能夠自動保存數(shù)據(jù)的多個副本,并且能夠自動將失敗的任務重新分配。
低成本:與一體機、商用數(shù)據(jù)倉庫以及QlikView、Yonghong Z-Suite等數(shù)據(jù)集市相比,hadoop是開源的,項目的軟件成本因此會大大降低。

三、怎么使用Hadoop?
1、Hadoop集群的搭建
無論是在windows上裝幾臺虛擬機玩Hadoop,還是真實的服務器來玩,說簡單點就是把Hadoop的安裝包放在每一臺服務器上,改改配置,啟動就完成了Hadoop集群的搭建。
2、上傳文件到Hadoop集群
Hadoop集群搭建好以后,可以通過web頁面查看集群的情況,還可以通過Hadoop命令來上傳文件到hdfs集群,通過Hadoop命令在hdfs集群上建立目錄,通過Hadoop命令刪除集群上的文件等等。
3、編寫map/reduce程序
通過集成開發(fā)工具(例如eclipse)導入Hadoop相關的jar包,編寫map/reduce程序,將程序打成jar包扔在集群上執(zhí)行,運行后出計算結果。

現(xiàn)在你知道什么是Hadoop了嗎?更多關于Hadoop的技術知識可以通過視頻學習哦~