1. 程式人生 > >視訊-《慕課網Hadoop基礎及演練》概念介紹

視訊-《慕課網Hadoop基礎及演練》概念介紹

文章目錄

Hadoop環境安裝

  1. Linux環境
  2. JDK,Hadoop的原始碼是Java寫的
  3. 配置hadoop

大資料

概念

大資料包括平臺框架和資料分析技術
在大資料平臺框架上的各種資料分析
包括Hadoop和Spark大資料框架
包括實時資料處理;離線資料處理;資料分析,資料探勘和用機器演算法進行預測分析等技術

準備:

1.熟悉Linux常用命令
2.有Python或者Java程式設計基礎
3.搭建Hadoop測試環境:

Hadoop核心

Hadoop=儲存HDFS(分散式檔案系統)+程式設計模型MapReduce(分散式技術)
儲存是大資料技術的基礎,分散式計算是大資料應用的解決方案
HDFS:資料塊+NameNode+DataNode
特點
1.普通的成百上千的機器
2.按TB甚至PB為單位的大量資料
3.簡單便捷的檔案獲取
優點:
1.適合大檔案儲存,支援TB、PB級的資料儲存,並有副本策略
2.可以構建在廉價的機器上,並有一定的容錯和恢復機制
3.支援流式資料訪問,一次寫入,多次讀取最搞笑
缺點


1.不適合大量小檔案儲存
2.不適合併發寫入,不支援檔案隨機修改
3.不支援隨機讀等低延時的訪問方式
資料塊:
1.資料塊是抽象快而非整個檔案作為儲存單元
2.預設大小為64MB,一般設定為128M,備份X3(三個)

HDFS概念

一個NameNode(主要)和多個DataNode(次要)

在這裡插入圖片描述

NameNode
1.管理檔案系統的名稱空間,存放檔案元資料
2.維護著檔案系統的所有檔案和目錄,檔案與資料塊的對映
3.記錄每個檔案中各個塊所在的資料節點的資訊

DataNode
1.儲存並檢索資料塊
2.向NameNode更新所儲存快的列表

HDFS流程

1、HDFS寫流程


1.客戶端向NameNode發起寫資料請求
2.分塊寫入DataNode節點,DataNade自動完成副本備份
3.DataNode向NameNode彙報儲存完成,NameNode通知客戶端

在這裡插入圖片描述

2、HDFS讀流程
1.客戶端向NameNode發起讀資料請求
2.NameNode找出距離最近的DataNode節點資訊
3.客戶端從DataNode檔案下載檔案

在這裡插入圖片描述

實戰

  • 通過Shell命令對HDFS進行操作:與Linux操作檔案類似
  • 通過編寫Python程式對HDFS進行操作

常用HDFS Shell命令

  • 類Linux系統:ls、cat、mkdir、rm、chmod、chown
  • HDFS檔案互動:copyFromLocal(從本地複製到HDFS)、copyToLocal、get、put