Hadoop中重要概念簡要總結
Hadoop是一個利用大規模計算機集群,可處理大量數據的分布式並行框架。
Hadoop 官網
Hadoop的核心設計包括HDFS和MapReduce。
HDFS
HDFS(Hadoop Distributed File System)是一種分布式文件系統。
主要特點:1.高容錯性;2.高吞吐量訪問;3.線性擴展(擴充容量只是增加DataNode數量,可在不停止系統的情況下做擴展)
HDFS架構圖:
一篇優秀的介紹HDFS原理的blog:HDFS的運行原理
MapReduce
MapReduce是一種分布式計算框架,被用於並行計算海量數據。其核心步驟包括Map(任務處理)和Reduce(結果匯總)兩部分。
上圖來自知乎用戶流通回答。用於海量處理的計算機分為兩種,一種是Master,負責調度;另一種是Worker,包括Map和Reduce,Map將數據處理完畢後,將結果傳送給Reduce匯總,如上圖。
Pig
Pig是構建在MapReduce之上的一種SQL-like的高級查詢語言。
Hive
Hive是構建在Hadoop集群之上的數據倉庫應用,可以將結構化的數據文件映射為一張數據庫表,其提供了SQL-like的HQL作為數據訪問接口。
介紹Hive的一篇blog:hive介紹
Mahout
Mahout是一個分布式機器學習算法集合。包括分布式協調過濾的實現,分類和聚類等。是一種很強大的數據挖掘工具。
介紹Mahout的blog:Mahout學習
HBase
HBase是一種構建在HDFS之上的分布式、面向列的key-value存儲系統(可以稱為key-value數據庫)。用於解決Hadoop只能批量處理,並且以順序方式訪問數據的問題。HBase提供快速隨機訪問海量結構化數據。
HBase教程
Sqoop
Sqoop是一種用於Hadoop與傳統數據庫(如Mysql)之間進行數據傳遞的工具。
Flume
Flume,日誌系統,是一個高可用的,高可靠的,分布式的海量日誌采集、聚合和傳輸的系統。
Chukwa
類似於Flume,另一種Hadoop日誌系統。有篇blog比較了hadoop的一些日誌系統:開源日誌系統比較:scribe、chukwa、kafka、flume
Hadoop中重要概念簡要總結