大數據基礎學習總結


1.linux

shell指令學習我是從私房菜開始看的,而且只看了shell指令相關的

linux   dos (dos命令百度百科     內容很全)
ls顯示目錄列表,較常用的是ls -l,用別名ll表示   使用dir

cd directory 進入directory表示的目錄,又分為相對路徑和絕對路徑,

相對路徑前面是不用/,相對於當前目錄開始

絕對路徑是以/目錄開始 ./表示當前目錄 ../表示上級目錄  

windows中有盤符所以切換盤符的時候要用cd /D directory

其他情況和linux相同 也可以直接盤符D:

編輯文件使用vi,這里內容很多,要理解命令模式,編輯模式的區分,學習起來較為容易

有i,o等命令可以進入編輯模式,用esc退出編輯模式,退出vi可以用:wq保存寫入內容后退出

;q!不保存強制退出

 edit

 df -ah查看磁盤使用情況,du -sh file

這里file可以是目錄和文件查看指定文件和目錄使用空間大小

 

             

 

 

2.hadoop

  hadoop1分為hdfs和mapred,hadoop2分為hdfs,mapreduce和yarn。我主要學習了hadoop1

hadoop要求jdk,因此要先安裝jdk,hadoop安裝主要配置文件為core-site.xml hdfs-site.xml mapred-site.xml 和hadoop-env.sh

主要學習途徑是stackoverflow,jira。hadoop權威指南

hadoop的核心架構 HDFS是按照Master和Slave的結構。由namenode和datanode構成,namenode通過datanode的heartbeat(“心跳”)確定節點正常。namenode管理datanode的block信息。同時管理client對集群的訪問。還有一個secondnamenode實現namenode的冷備份,根據snapshot(“快照”)和checkpoint(“監測點”)實現和namenode的一致性,在namenode節點dead時secondnamenode替代namenode的工作。datanode保存hadoop的數據,datanode的基本數據單元是block,每個block大小為64M。因此可知hadoop是用來存儲大文件的。小文件的讀寫會很消耗hadoop內存。

熱備份:b是a的熱備份,如果a壞掉。那么b馬上運行代替a的工作。

冷備份:b是a的冷備份,如果a壞掉。那么b不能馬上代替a工作。但是b上存儲a的一些信息,減少a壞掉之后的損失。

mapreduce 一種雲計算的核心計算模式,一種分布式運算技術,也是簡化的分布式編程模式,它主要用於解決問題的程序開發模型,也是開發人員拆解問題的方法。

原理是  map : <k1,v1> -> list<k2,v2> ; reduce : <k2,list(v2)> -> <k3,v3>     mapreduce主要強調了map和reduce中間還存在shuffle("洗牌")和sort的過程,通過洗牌主要將相同主鍵的數據移動到一個datanode處理,充分考慮分布式模式,在單一datanode內數據是有序排列的,在通過reduce可以求得最大值,平均值,個數等。

3.hbase

hbase是列族數據庫底層依賴於hdfs。hbase是按照Master和Slave的結構。分為HMaster和regionserver。hbase中hmaster主要管理-ROOT-和.META.表的數據。-ROOT-只有一個是不可分割的。存儲了.META.的索引信息,而.META.存儲了regionserver中region的索引信息。所以是采用了三級索引思想。regionserver中是存儲數據的地方,而regionserver中有可以有多個region和一個Hlog。每個region里面又分為多個store,store存儲的列族數據。store中有memstore和storefile。memstore達到閥值時,將數據刷寫成storefile中。Hregion是以完整的記錄行存儲。hbase內部中行鍵是有序的。client只能根據行鍵key讀取數據。hbase中內部數據是<key,value>存儲。

hbase中最小單元是hfile,HFile中KeyValue數據的存儲格式,HFile是Hadoop的二進制格式文件,實際上StoreFile就是對HFile做了輕量級包裝,即StoreFile底層就是HFile

hbase中還內置有zookeeper(你也可以不使用內置的zookeeper),Zookeeper Quorum存儲-ROOT-表地址、HMaster地址
HRegionServer把自己以Ephedral方式注冊到Zookeeper中,HMaster隨時感知各個HRegionServer的健康狀況
Zookeeper避免HMaster單點問題
client訪問過程 : client -> zookeeper -> -ROOT- > .META.-> 用戶數據表

4.hive

hive是數據倉庫,hive底層依賴於hadoop,它的sql解析是通過mapreduce任務完成的。hive的兩個核心服務是metastore和hiveserver。

數據訪問和存儲是采用sql方式訪問的。hiveQL是hive的核心。它不支持update和delete

  (1)HQL中對查詢語句的解釋、優化、生成查詢計划是由Hive完成的 
    (2)所有的數據都是存儲在Hadoop中 
    (3)查詢計划被轉化為MapReduce任務,在Hadoop中執行(有些查詢沒有MR任務,如:select * from table)
    (4)Hadoop和Hive都是用UTF-8編碼的

hiveQL中select的使用,與sql的區別和hive的性能優化都是重點去理解的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM