大資料敲門磚,想入行大資料必須學習這些知識
基礎概念
大資料的本質
一、資料的儲存:分散式檔案系統(分散式儲存)
二、資料的計算:分部署計算
基礎知識
學習大資料需要具備Java知識基礎及Linux知識基礎
學習路線
大資料學習群142973723
(1)Java基礎和Linux基礎
(2)Hadoop的學習:體系結構、原理、程式設計
第一階段:HDFS、MapReduce、HBase(NoSQL資料庫)
第二階段:資料分析引擎 -> Hive、Pig
資料採集引擎 -> Sqoop、Flume
第三階段:HUE:Web管理工具
ZooKeeper:實現Hadoop的HA
Oozie:工作流引擎
(3)Spark的學習
第一階段:Scala程式語言
第二階段:Spark Core -> 基於記憶體、資料的計算
第三階段:Spark SQL -> 類似於mysql 的sql語句
第四階段:Spark Streaming ->進行流式計算:比如:自來水廠
(4)Apache Storm 類似:Spark Streaming ->進行流式計算
NoSQL:Redis基於記憶體的資料庫
HDFS
分散式檔案系統 解決以下問題:
• 硬碟不夠大:多幾塊硬碟,理論上可以無限大
• 資料不夠安全:冗餘度,hdfs預設冗餘為3 ,用水平復制提高效率,傳輸按照資料庫為單位:Hadoop1.x 64M,Hadoop2.x 128M
• 管理員:NameNode 硬碟:DataNode
MapReduce
基礎程式設計模型:把一個大任務拆分成小任務,再進行彙總
• MR任務:Job = Map + Reduce
Map的輸出是Reduce的輸入、MR的輸入和輸出都是在HDFS
MapReduce資料流程分析:
• Map的輸出是Reduce的輸入,Reduce的輸入是Map的集合
HBase
什麼是BigTable?: 把所有的資料儲存到一張表中,採用冗餘 —> 好處:提高效率
• 因為有了bigtable的思想:NoSQL:HBase資料庫
• HBase基於Hadoop的HDFS的
• 描述HBase的表結構
核心思想是:利用空間換效率.大資料學習群142973723