大資料分析學習之路——Hive
大資料
-
什麼是大資料? 大資料是指無法在一定時間內用常規軟體工具對其內容進行抓取、管理和處理的資料集合。換句話資料量在TB,PB,甚至更大的多元化資料集合。多,雜的資料
-
當今資料處理模式:離線處理(先收集資料,再處理)----Hadoop;流式處理(實時處理)---spark
Hadoop
1,The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing.Hadoop是一個由Apache基金會所開發的分散式系統基礎架構。
2,特點:reliable, scalable, distributed
3,核心元件及功能
- Command:底層依賴庫
- HDFS:分散式的資料儲存
- Yarn:任務排程和資源管理
- Mapresource:處理海量資料
功能:
HDFS:namenode: 儲存元資料資訊(元資料:誰建立,什麼時間建立,建立在什麼節點),管理者
datanode:真正儲存資料的節點,執行者
Yarn:resourcemanager: 管理平臺資源
nodemanager: 機器真正對應的資源—每個機器具體的節點
MapReduce:分散式計算框架
map端:將任務分配到不同的機器節點上(拆分任務)
shuffle:中間橋樑(內容拆分)
reduce端:map結果彙總
4,Hadoop框架的優缺點:
優點:效率高,適合離線處理
缺點:啟動開銷大(所以只能是資料量很大才適合用了)
Hive
1,Hive 將結構化的資料對映成表格,是資料倉庫,使用類SQL語句,進行資料的讀寫管理
2,與資料庫的異同點:
- 資料處理方面:Hive使用MapReduce, 資料庫使用自己的引擎, 語句上與sql語句類似
- 資料格式:hive使用分隔符
- hive執行的時候會有延遲,因為hive沒有索引,需要整張表進行掃描
- hive具有可擴張性
3,Hive與hadoop的關係
hive是建立在大資料平臺Hadoop框架之上的大資料倉庫,以HQL語句為實現形式,底層轉化為經過MapRdeuce處理的,HDFS檔案