1. 程式人生 > >大資料敲門磚,想入行大資料必須學習這些知識

大資料敲門磚,想入行大資料必須學習這些知識

基礎概念

大資料的本質

一、資料的儲存:分散式檔案系統(分散式儲存)

二、資料的計算:分部署計算

基礎知識

學習大資料需要具備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

image.png

MapReduce

基礎程式設計模型:把一個大任務拆分成小任務,再進行彙總

• MR任務:Job = Map + Reduce

Map的輸出是Reduce的輸入、MR的輸入和輸出都是在HDFS

MapReduce資料流程分析:

• Map的輸出是Reduce的輸入,Reduce的輸入是Map的集合
在這裡插入圖片描述
在這裡插入圖片描述
HBase

什麼是BigTable?: 把所有的資料儲存到一張表中,採用冗餘 —> 好處:提高效率

• 因為有了bigtable的思想:NoSQL:HBase資料庫

• HBase基於Hadoop的HDFS的

• 描述HBase的表結構

核心思想是:利用空間換效率.大資料學習群142973723
在這裡插入圖片描述