【大數據】大數據學習筆記(1)

1、Hadoop的簡介網絡

1.Hadoop:一個開源,高可靠,可擴展的分佈式計算框架框架

2.Hadoop解決的問題:分佈式

(1)海量數據的存儲(HDFS):分佈式文件系統,有兩個好處,函數

(a)能夠動態添加存儲系統,這樣存儲就不會受到限制
(b)元數據備份,這裏默認備份三分,能夠修改

(2)海量數據的分析(MapReduce):分而自知,能夠把數據分紅多分,並行分析處理oop

(3)分佈式資源調度(Yarn):集羣之間的調度,好比:CPU、內存等搜索引擎

3.特色.net

  • 擴容能力比較強日誌

  • 成本低(普通PC機均可以)code

  • 高效率(Hadoop會對數據進行分片處理)blog

  • 可靠性(自動備份,自動找回數據等功能)

4.應用場景

  • 日誌分析
  • 基於海量數據的在線應用
  • 推薦系統
  • 計算廣告
  • 複雜計算
  • 網盤
  • 搜索引擎等......

5.Hadoop項目主要模塊包括如下四個模塊

(1)Hadoop Common:爲其餘的Hadoop模塊提供基礎設施

(2)Hadoop HDFS:一個可靠、吞吐量的分佈式文件系統

(3)Hadoop MapReduce:一個分佈式的離線並行計算框架

(4)Hadoop YARN:一個新的MapReduce框架,任務調度與資源管理

2、MapReduce的使用

1.MapReduce(分佈式計算框架)

(1)Map任務處理

  • 讀取文件的內容,解析成key、Value鍵值對
  • 重寫map方法,編寫業務邏輯輸出新的key、value鍵值對
  • 對輸出的key、Value進行分區(Partitioner類)
  • 對數據按照key進行排序、分組。相同key的value放到一個集合中

(2)Reduce任務處理

  • 對多個map任務的輸出,按照不一樣的分區,經過網絡copy到不一樣的ruduce節點。
  • 對多個map任務的輸出進行合併、排序。寫reduce函數本身的邏輯,對輸入的key、 value處理,轉換成新的key、Value輸出。
  • 把reduce的輸出保存到文件中。

轉載請註明出處:

【定陶黃公子】

http://www.javashuo.com/article/p-utdvtzcv-eh.html

相關文章
相關標籤/搜索