1.Hadoop是什麼? 適合大數據的分散式存儲與計算平臺 HDFS: Hadoop Distributed File System分散式文件系統 MapReduce:並行計算框架 2.Hadoop生態圈 ①HBase Google Bigtable的開源實現 列式資料庫 可集群化 可以使用shel ...
1.Hadoop是什麼?
適合大數據的分散式存儲與計算平臺
HDFS: Hadoop Distributed File System分散式文件系統
MapReduce:並行計算框架
2.Hadoop生態圈
①HBase
Google Bigtable的開源實現
列式資料庫
可集群化
可以使用shell、web、api等多種方式訪問
適合高讀寫(insert)的場景
HQL查詢語言
NoSQL的典型代表產品
②Hive
數據倉庫工具。可以把Hadoop下的原始結構化數據變成Hive中的表
支持一種與SQL幾乎完全相同的語言HiveQL。除了不支持更新、索引和事務,幾乎SQL的其它特征都能支持
可以看成是從SQL到Map-Reduce的映射器
提供shell、JDBC/ODBC、Thrift、Web等介面
③Zookeeper
Google Chubby的開源實現
用於協調分散式系統上的各種服務。例如確認消息是否準確到達,防止單點失效,處理負載均衡等
應用場景:Hbase,實現Namenode自動切換
工作原理:領導者,跟隨者以及選舉過程
④Sqoop
用於在Hadoop和關係型資料庫之間交換數據
通過JDBC介面連入關係型資料庫
⑤Chukwa
架構在Hadoop之上的數據採集與分析框架
主要進行日誌採集和分析
通過安裝在收集節點的“代理”採集最原始的日誌數據
代理將數據發給收集器
收集器定時將數據寫入Hadoop集群
指定定時啟動的Map-Reduce作業隊數據進行加工處理和分析
⑥Pig
Hadoop客戶端
使用類似於SQL的面向數據流的語言Pig Latin
Pig Latin可以完成排序,過濾,求和,聚組,關聯等操作,可以支持自定義函數
Pig自動把Pig Latin映射為Map-Reduce作業上傳到集群運行,減少用戶編寫Java程式的苦惱
⑦Avro
數據序列化工具,由Hadoop的創始人Doug Cutting主持開發
用於支持大批量數據交換的應用。支持二進位序列化方式,可以便捷,快速地處理大量數據
動態語言友好,Avro提供的機制使動態語言可以方便地處理 Avro數據。
Thrift介面
⑧Cassandra
NoSQL,分散式的Key-Value型資料庫,由Facebook貢獻
與Hbase類似,也是借鑒Google Bigtable的思想體系
只有順序寫,沒有隨機寫的設計,滿足高負荷情形的性能需求
3.Hadoop生態圈流程圖