Hive概述
- 資料倉庫
- OLTP
- OLAP
- 資料倉庫設計
- 資料倉庫流程
- Hive簡介
- Hive的誕生
- Hive的功能
- 將HDFS檔案映射成表資料
- 將SQL轉換為程式并執行
- Hive的應用場景
- Hive的架構
- Hive客戶端
- Hive服務端
- SQL決議器Parser
- 編譯器Plan
- 優化器Optimizer
- 執行器Execution
- Hive元資料
資料倉庫
OLTP
聯機事務處理,用于滿足業務上的資料存盤,
資料量小,支持事務(需要滿足ACID),效率高,延遲性比較低,這種模型就是資料庫,資料庫工具可以實作這種存盤模型,常用MySQL、Oracle,
OLAP
聯機分析處理,專門用于解決資料處理的資料存盤的平臺,
資料類大,不需要支持事務,時間的要求不高(離線的OLAP一般要求的時效性是T+1),這種模型就是資料倉庫,資料倉庫工具可以實作這種模型,常用Hive、GreenPlum,
資料倉庫設計
資料倉庫是更加規范化和統一化的資料管理的設計模型,用于實作資料加工和處理的平臺,實作資料的應用,
可以把資料倉庫看作是一個資料的超市:所有資料按照分類進行存放,在資料倉庫中對資料進行加工,類似筆者家里的群暉DS218J,所有資料進行集中存盤,
資料倉庫流程
ETL:資料清洗,將各種各樣的資料按照規則進行過濾,補全、轉換,
分層:資料從進入資料倉庫到最后被應用,資料經過處理的步驟,
建模:表應該怎么建,表的設計,
Hive簡介
Hive官網
Hive的誕生
源于FaceBook,用Hadoop實作大資料分析時遇到了這種問題:
分析的需求只有業務人員才知道怎么分析,但是他們不會寫Java,頂多會SQL,分析的程式只有開發人員才知道怎么開發,但是他們不會寫分析報表,FaceBook就讓開發人員寫了一個工具,將SQL陳述句轉換為MapReduce程式,
Hive的功能
將HDFS檔案映射成表資料
可以用來構建資料倉庫,實作分布式的資料存盤,
將SQL轉換為程式并執行
將SQL轉換為MapReduce/Tez/Spark的程式,提交給YARN執行,
但是MapReduce性能極差,一般要使用分布式SQL引擎Presto、Impala、SparkSQL等更先進的工具,
Hive的應用場景
作為資料倉庫工具,實作資料倉庫的構建,
分布式SQL計算查詢,
Hive的架構
Hive客戶端
連接用戶與服務端,提供SQL開發界面,允許用戶開發SQL,將用戶開發的SQL提交給Hive的服務端,最后將服務端執行的結果回傳給用戶,
Hive服務端
接受客戶端的請求,
SQL決議器Parser
決議用戶提交的SQL陳述句,將SQL轉換為分布式計算或者分布式存盤的程式提交給Hadoop運行,
編譯器Plan
將SQL生成執行計劃,
優化器Optimizer
選擇最優的方案來實作,
執行器Execution
執行對應的處理操作,
Hive元資料
存盤整個Hive中所有核心的資料(Hive中所有資料庫、表的資訊),記錄了HDFS檔案與Hive表的映射關系,
Hive部署這篇及后續章節將繼續闡述Hive,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/283205.html
標籤:其他
