1. 程式人生 > >Hadoop知識點1

Hadoop知識點1

1大資料:指無法在一定時間範圍內用常規軟體工具進行捕捉,管理和處理的資料集合。

2大資料主要解決,海量資料的儲存和海量資料的分析計算問題。

3資料儲存單位:bit,Byte,KB,MB,GB,TB,PB,EB,ZB,YB

4大資料的特點:1大量2高速(資料增長速度非常快)3多樣化(資料結構的多樣化)4低價值密度(資料量越多價值密度越低)

5工作中大資料部門組織架構(資料探勘其實就是演算法工程師):

6Apache是Hadoop的一個版本

7Hadoop的優勢:

   a高可靠性:Hadoop對每個節點(叢集中的一臺機器)至少存3個副本,所以即使Hadoop某個計算元素或儲存出現故障,也不會導致資料的丟失

   b高擴張性,在叢集間分配任務資料,可方便的擴充套件以千計算的節點。

   c高效性:在MapReduce的思想下,Hadoop是並行工作的,以加快任務處理速度。

   d高容錯性,能夠自動將失敗的任務重新分配

8Hadoop組成

hadoop=hdfs+mapreduce+yarn

   a HDFS=hadoop distributed file System:Hadoop分散式檔案系統 作用:儲存檔案

   b  MapReduce 作用:計算

   c YARN 作用:資源排程(分配叢集的CPU,叢集的硬碟等資源)

9HDFS概概述:

hdfs=nameNode+DateNode+Secondary NameNode

  a NameNode 作用:儲存檔案的元資料(元資料:描述資料的資料)

  bDateNode  作用:儲存真實的資料,校驗和

  cSecondary NameNode 作用:給NameNode幹活的

10YARN概述:

yarn=resourceManager+nodeManager+applicationMaster+Container
   a ResourceManager 作用:整叢集資源的排程

   b NodeManager 作用:每個結點的資源排程

   c ApplicationMaster 作用:每個任務要用到的資源的排程

   d Container 作用:相當於把整個叢集的資源分成一個個Container,每個任務都跑在一個Container上

10MapReduce概述:

  MapReduce=map+reduce

   a Map 作用:把資料切分並行處理

   b Reduce 作用:把Map處理的結果進行彙總

11大資料技術生態體系:

[1]大資料處理的資料分為三種:
a結構化資料(例如資料庫中存的資料)

b半結構化資料(例如檔案日誌),半結構化資料是可以通過一定的手段轉化成結構化資料的資料

c非結構化資料 (視訊,ppt等沒有規律的資料)

[2]資料傳輸層,分為三個框架

   a Sqoop  這個詞的來源:my[sq]l+had[oop]相當於將關係型資料庫的資料導到HDFS上

   b Flume :日誌採集的框架。主要作用:日誌會寫在伺服器的.log檔案中,每次生成的日誌在這個檔案中不停的追加,

                     Flume的主要作用是對這個日誌檔案進行監控,監控他追加的情況,並把這個日誌裡面的內容通過Flume

                     這個框架再換到別的框架,例如:HDFS,Kafka,Flume和Kafka可以實現無縫的對接

   c Kafka:處理流式資料(資料來源不斷變化的資料),Kafka也叫資料匯流排

                   資料匯流排:將流到它裡面的資料進行一個分發

[3]資料儲存層:

   a HDFS

   b Hbase:非關係型資料庫(可以儲存關係型資料和非關係型資料)

[4]資源管理層:YARN

[5]資料計算層

   a MapReduce---框架:

                                          [a]HIVE:將sql語句自動轉化成MapReduce程式進行執行

   b Spark Core(Spark中的一個元件)---框架:

           [a]Spark Mlib:封裝了很多演算法

           [b]Spark R:用於資料分析

           [c]Spark Sql:資料查詢

           [d]Spark Streaming:實時計算(偽實時,可能是隔5s處理一次,有一個延時),用來處理Kafka傳來的資料

           [e]Strom:真正的實時計算

a,b的主要區別:MapReduce在處理資料的時候是基於硬碟的(缺點速度慢)

Spark Core(缺點斷電丟資料)在處理資料的時候是基於記憶體的。

[6]任務排程層,框架:Oozie

    任務排程:第二個計算依賴於第一個計算的結果,任務排程用於控制任務的執行先後

[7]大資料生態系統的潤滑劑:zookeeper