hadoop學習筆記----hadoop簡介

什麼是hadoop?
hadoop 是一個可編程和運行分佈式應用,用來處理大數據的開源框架。

 

 

Hadoop主要子項目  

      Hadoop Common: 在0.20及以前的版本中,包含HDFS、MapReduce和其他項目公共內容,從0.21開始HDFS和MapReduce被分離爲獨立的子項目,其餘內容爲Hadoop Common

  HDFS: Hadoop 分佈式文件系統 (Distributed File System) - HDFS (Hadoop Distributed File System)

  MapReduce:並行計算框架,0.20前使用 org.apache.hadoop.mapred 舊接口,0.20版本開始引入org.apache.hadoop.mapreduce的新API

  HBase: 類似Google BigTable的分佈式NoSQL列數據庫。(HBase 和 Avro 已經於2010年5月成爲頂級 Apache 項目)

  Hive:數據倉庫工具,由Facebook貢獻。

  Zookeeper:分佈式鎖設施,提供類似Google Chubby的功能,由Facebook貢獻。

  Avro:新的數據序列化格式與傳輸工具,將逐步取代Hadoop原有的IPC機制。

和其他分佈式架構比較:
SETI@home(就是尋找外星人那個):是將數據傳送到要計算的地方(運行屏保的計算機),經過計算,再將計算結果傳回到數據中心。

hadoop的做法:將代碼向數據所在的地方遷移。

和普通的數據庫比較:

1.處理的對象不一樣。
  傳統數據庫處理的是 結構化的數據,如 表的結構都是固定的。結構化查詢語言(Structured Query Language)簡稱SQL.
   hadoop更多的是處理半結構化的數據或者非結構化的數據,如分析日誌記錄,統計字符出現的次數等等。

2.拓展方式不一樣
   hadoop的拓展是向外拓展,即需要擴容的時候,增加普通的機器。
   普通數據庫拓展是向高拓展,即更換更好的機器。(當然也可以向外拓展,這點有待討論...)


3.hadoop用鍵值對代替數據表
  傳統數據庫是讓數據以某種模式存放在具有關係數據庫的模式中。基於這種模式來對數據進行處理。hadoop將數據轉化爲鍵/值對來進行處理
 
4.hadoop用函數式編程(MapReduce)代替sql


5.hadoop用離線批量處理代替在線處理(hadoop爲離線處理和大規模數據分析而設計,
  更適合於 一次寫入,多次讀取 的情況,類似於sql的數據倉庫)

==============================================================

 

我也是剛開始學習hadoop,學習的資料來自於 《hadoop實戰》和《hadoop權威指南》 以及網上搜到的一些資料。

這些筆記是學習的過程中自己積累的,然後用更加淺顯的話表述出來,希望也能幫助到初學者。當然裏邊會有很多錯誤,也希望大家指出,我會認真改正,謝謝

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章