Hadoop生態系統學習路線

主要介紹Hadoop家族產品,常常使用的項目包含Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa。新添加的項目包含,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。

從2011年開始。中國進入大數據風起雲涌的時代。以Hadoop爲表明的家族軟件。佔領了大數據處理的廣闊地盤。開源界及廠商。所有數據軟件。無 一不向Hadoop靠攏。node

Hadoop也從小衆的高富帥領域,變成了大數據開發的標準。git

在Hadoop原有技術基礎之上,出現了Hadoop家族產品。通 過「大數據」概念不斷創新。推出科技進步。github

做爲IT界的開發者,咱們也要跟上節奏。抓住機遇,跟着Hadoop一塊兒雄起。web

 


前言算法

使用Hadoop已經有一段時間了。從開始的迷茫,到各類的嘗試。到現在組合應用….慢慢地涉及到數據處理的事情。已經離不開hadoop了。sql

Hadoop在大數據領域的成功。更引起了它自己的加速發展。現在Hadoop家族產品,已經達到20個了之多。數據庫

有必要對本身的知識作一個整理了。把產品和技術都串起來。不只能加深印象。更可以對之後的技術方向。技術選型作好基礎準備。apache

本文爲「Hadoop家族」開篇,Hadoop家族學習路線圖編程

文件夾api

  1. Hadoop家族產品
  2. Hadoop家族學習路線圖

1. Hadoop家族產品

截止到2013年,依據cloudera的統計,Hadoop家族產品已經達到20個!
http://blog.cloudera.com/blog/2013/01/apache-hadoop-in-2013-the-state-of-the-platform/

接下來,我把這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: 是一個工做流引擎server, 用於管理和協調執行在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

Zookeeper

HBase

Mahout

Sqoop

Cassandra

相關文章
相關標籤/搜索