大資料入門級學習路線

2021-10-10 04:20:54 字數 2766 閱讀 4113

(分布式儲存系統hdfs【redundant reliable storage】+分布式計算框架mapreduce【data process】+資源管理系統yarn【cluste resource management】)

(1)分布式儲存系統hdfshadoop distributed file system

基本原理:將檔案切分成等大的資料塊,儲存到多台機器上,將資料切分、容錯、負載均衡等功能透明化,可將hdfs看成是乙個容量巨大、具有高容錯性的磁碟。

應用場景:海量資料的可靠性儲存

hdfs優點:高容錯性(資料自動儲存多個副本,副本丟失後自動恢復);

適合批處理(移動計算而非資料、資料位置暴露給計算框架);

適合大資料處理(gb、tb、甚至pb級資料、百萬規模以上的檔案數量、10k+節點規模);

預設資料塊大小為64mb,可配置,如果檔案大小不到64mb,則單獨存成乙個block;

預設每個block有三個副本;

hdfs寫流程如下——

hdfs讀流程如下——

(2)資源管理系統yarnyet another resource negotiator

hadoop2.0新增系統,負責集群的資源管理和排程,使得多種計算框架執行在乙個集群中。

yarn基本架構如下——

yarn執行過程剖析如下——

(3)分布式計算框架mapreduce

具有良好的擴充套件性、高容錯性,適合pb級以上海量資料的

離線處理。

將計算過程分為兩個階段,map和reduce,map階段並行處理輸入資料,reduce階段對map結果進行彙總。運用shuffle連線map和reduce兩個階段(map task將資料寫到本地磁碟,reduce task從每個map task上讀取乙份資料)

mapreduce架構如下——

mapreduce執行流程如下——

(4)hadoop2.0生態系統

構建在hadoop上的資料倉儲,定義一種資料流語言——pig latin,通常用於離線分析。

(6)mahout(資料探勘庫)

基於hadoop的機器學習和資料探勘的分布式計算框架,實現了三大類演算法:推薦、聚類、分類。

(7)zookeeper(分布式協作服務)

解決分布式環境下資料管理問題——統一命名、狀態同步、集群管理、配置同步

(8)sqoop(資料同步工具)

連線hadoop與傳統資料庫之間的橋梁,支援多種資料庫,包括mysql、db2等;

插拔式,使用者可根據需要支援新的資料庫;

本質上是乙個mapreduce程式,充分利用mr分布式並行的特點與mr的容錯性特點;

(9)flume(日誌收集工具)

(10)oozie(作業流排程系統)

(1)hbase資料模型

table:表——類似於傳統資料庫中的表

column family:列簇

row key:行鍵——table的主鍵

timestamp:時間戳——每行資料都對應乙個時間戳

基於mr的資料倉儲,最初用於解決海量結構化的日誌資料統計問題,etl工具;構建在hadoop上的資料倉儲;

hive定義了一種類sql查詢語言——hql

通常用於進行離線資料處理(採用mapreduce)

多維度資料分析,

流式計算,是指被處理的資料像流水一樣不斷地流入系統,而系統需針對每條資料進行實時處理和計算,並永不停止(直到使用者顯式殺死程序);

————————乙個唯美食與遠方不可辜負的程式媛——————————————

怎樣進行大資料的入門級學習

學習大資料的話,可以給你乙個大綱,入門可以參考。推薦乙個大資料學習群 119599574每天晚上20 10都有一節 免費的 大資料直播課程,專注大資料分析方法,大資料程式設計,大資料倉儲,大資料案例,人工智慧,資料探勘都是純乾貨分享,一般的學習方法如下 1 linux命令基礎實戰 大資料架構體系結構...

怎樣進行大資料的入門級學習?

我認為從事data analytics或data science需要具備以下技能 programming hack 這個方面比較廣泛,並不是純粹指程式設計技能,要不然對於非cs的同學會覺得遙不可及。幾個點說一下 學習大資料的話,可以給你乙個大綱,入門可以參考。大資料的前景和意義也就不言而喻了,未來,...

怎樣進行大資料的入門級學習

一般的學習方法如下 1 linux命令基礎實戰 大資料架構體系結構及開源元件介紹 要掌握 linux基本操作 常見的linux命令需要會 2 hadoop基礎 hadoop基礎,對hadoop架構 核心元件hdfs yarn做了深入淺出的介紹,讓你快速把握hadoop的核心技術和工作原理,逐漸形成分...