Hadoop家族 路線圖(轉)
阿新 • • 發佈:2019-02-18
主要介紹Hadoop家族產品,常用的專案包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的專案包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。
從2011年開始,中國進入大資料風起雲湧的時代,以Hadoop為代表的家族軟體,佔據了大資料處理的廣闊地盤。開源界及廠商,所有資料軟體,無一不向Hadoop靠攏。Hadoop也從小眾的高富帥領域,變成了大資料開發的標準。在Hadoop原有技術基礎之上,出現了Hadoop家族產品,通過“大資料”概念不斷創新,推出科技進步。
作為IT界的開發人員,我們也要跟上節奏,抓住機遇,跟著Hadoop一起雄起!
前言
使用Hadoop已經有一段時間了,從開始的迷茫,到各種的嘗試,到現在組合應用….慢慢地涉及到資料處理的事情,已經離不開hadoop了。Hadoop在大資料領域的成功,更引發了它本身的加速發展。現在Hadoop家族產品,已經達到20個了之多。
有必要對自己的知識做一個整理了,把產品和技術都串起來。不僅能加深印象,更可以對以後的技術方向,技術選型做好基礎準備。
目錄
- Hadoop家族產品
- Hadoop家族學習路線圖
1. Hadoop家族產品
接下來,我把這20個產品,分成了2類。
- 第一類,是我已經掌握的
- 第二類,是TODO準備繼續學習的
一句話產品介紹:
- Apache Hadoop: 是Apache開源組織的一個分散式計算開源框架,提供了一個分散式檔案系統子專案(HDFS)和支援MapReduce分散式計算的軟體架構。
- Apache Hive: 是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合資料倉庫的統計分析。
- Apache Pig: 是一個基於Hadoop的大規模資料分析工具,它提供的SQL-LIKE語言叫Pig Latin,該語言的編譯器會把類SQL的資料分析請求轉換為一系列經過優化處理的MapReduce運算。
- Apache HBase: 是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化儲存叢集。
- Apache Sqoop: 是一個用來將Hadoop和關係型資料庫中的資料相互轉移的工具,可以將一個關係型資料庫(MySQL ,Oracle ,Postgres等)中的資料導進到Hadoop的HDFS中,也可以將HDFS的資料導進到關係型資料庫中。
- Apache Zookeeper: 是一個為分散式應用所設計的分佈的、開源的協調服務,它主要是用來解決分散式應用中經常遇到的一些資料管理問題,簡化分散式應用協調及其管理的難度,提供高效能的分散式服務
- Apache Mahout:是基於Hadoop的機器學習和資料探勘的一個分散式框架。Mahout用MapReduce實現了部分資料探勘演算法,解決了並行挖掘的問題。
- Apache Cassandra:是一套開源分散式NoSQL資料庫系統。它最初由Facebook開發,用於儲存簡單格式資料,集Google BigTable的資料模型與Amazon Dynamo的完全分散式的架構於一身
- Apache Avro: 是一個數據序列化系統,設計用於支援資料密集型,大批量資料交換的應用。Avro是新的資料序列化格式與傳輸工具,將逐步取代Hadoop原有的IPC機制
- Apache Ambari: 是一種基於Web的工具,支援Hadoop叢集的供應、管理和監控。
- Apache Chukwa: 是一個開源的用於監控大型分散式系統的資料收集系統,它可以將各種各樣型別的資料收整合適合 Hadoop 處理的檔案儲存在 HDFS 中供 Hadoop 進行各種 MapReduce 操作。
- Apache Hama: 是一個基於HDFS的BSP(Bulk Synchronous Parallel)平行計算框架, Hama可用於包括圖、矩陣和網路演算法在內的大規模、大資料計算。
- Apache Flume: 是一個分佈的、可靠的、高可用的海量日誌聚合的系統,可用於日誌資料收集,日誌資料處理,日誌資料傳輸。
- Apache Giraph: 是一個可伸縮的分散式迭代圖處理系統, 基於Hadoop平臺,靈感來自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
- Apache Oozie: 是一個工作流引擎伺服器, 用於管理和協調執行在Hadoop平臺上(HDFS、Pig和MapReduce)的任務。
- Apache Crunch: 是基於Google的FlumeJava庫編寫的Java庫,用於建立MapReduce程式。與Hive,Pig類似,Crunch提供了用於實現如連線資料、執行聚合和排序記錄等常見任務的模式庫
- Apache Whirr: 是一套運行於雲服務的類庫(包括Hadoop),可提供高度的互補性。Whirr學支援Amazon EC2和Rackspace的服務。
- Apache Bigtop: 是一個對Hadoop及其周邊生態進行打包,分發和測試的工具。
- Apache HCatalog: 是基於Hadoop的資料表和儲存管理,實現中央的元資料和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供關係檢視。
- Cloudera Hue: 是一個基於WEB的監控和管理系統,實現對HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。
2. Hadoop家族學習路線圖
下面我將分別介紹各個產品的安裝和使用,以我經驗總結我的學習路線。
Hadoop
Hive
Pig
- Pig學習路線圖
Zookeeper
HBase
Mahout
Sqoop
- Sqoop學習路線圖
Cassandra