一.hadoop介紹web
二.hadoop產生背景算法
1.HADOOP最先起源於Nutch。Nutch的設計目標是構建一個大型的全網搜索引擎,包括網頁抓取、索引、查詢等功能,但隨着抓取網頁數量的增長,遇到了嚴重的可擴展性問題——如何解決數十億網頁的存儲和索引問題。數據庫
2.2003年、2004年谷歌發表的兩篇論文爲該問題提供了可行的解決方案——分佈式文件系統(GFS),可用於處理海量網頁的存儲——分佈式計算框架MAPREDUCE,可用於處理海量網頁的索引計算問題。apache
3.Nutch的開發人員完成了相應的開源實現HDFS和MAPREDUCE,並從Nutch中剝離成爲獨立項目HADOOP,到2008年1月,HADOOP成爲Apache頂級項目,迎來了它的快速發展期。編程
三.hadoop重要組件服務器
HDFS:分佈式文件系統框架
MAPREDUCE:分佈式運算程序開發框架機器學習
HIVE:基於大數據技術(文件系統+運算框架)的SQL數據倉庫工具分佈式
HBASE:基於HADOOP的分佈式海量數據庫工具
ZOOKEEPER:分佈式協調服務基礎組件
Mahout:基於mapreduce/spark/flink等分佈式運算框架的機器學習算法庫
Oozie:工做流調度框架
Sqoop:數據導入導出工具
Flume:日誌數據採集框架
四.hadoop常見項目處理流程
1.數據採集:定製開發採集程序,或使用開源框架FLUME
2.數據預處理:定製開發mapreduce程序運行於hadoop集羣
3.數據倉庫技術:基於hadoop之上的Hive
4.數據導出:基於hadoop的sqoop數據導入導出工具
5.數據可視化:定製開發web程序或使用kettle等產品
6.整個過程的流程調度:hadoop生態圈中的oozie工具或其餘相似開源產品