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