hive架構
hive與hadoop的關係
hive與傳統資料庫對比
hive是乙個基於hadoop的資料倉儲工具,可以將結構化資料對映成一張資料表,並提供類sql的查詢功能。
其本質是將sql轉換為mapreduce的任務進行運算,底層由hdfs來提供資料的儲存,hive可以理解為乙個將sql轉換為mapreduce的任務的工具。
背景:hadoop是個好東西,但是學習難度大,成本高,坡度陡。
意義(目的):降低程式設計師使用hadoop的難度。降低學習成本。
儲存使用hdfs儲存
計算使用mapreduce進行計算。
每次的執行開銷較大,任務執行時間較長,延時較高。
hive的內部組成架構圖
基本組成 總結
元資料:描述資料的資料(屬性)
表名稱、欄位名,欄位的資料型別。
內部執行流程
直譯器 -> 編譯器 -> 優化器 -> 執行器
hive利用hdfs儲存資料,利用mapreduce查詢分析資料
總結:hive就是乙個轉化工具
hive用於海量資料的離線資料分析
總結:hive具有sql資料庫的外表,但應用場景完全不同,hive只適合用來做批量資料統計分析
db (資料庫):在hdfs中表現為$目錄下乙個資料夾
table (內部表):在hdfs中表現所屬db目錄下乙個資料夾
external table (外部表):與table類似,不過其資料存放位置可以在任意指定路徑
partition (分割槽):在hdfs中表現為table目錄下的子目錄
bucket (分桶):在hdfs中表現為同乙個表目錄下根據hash雜湊之後的多個檔案
Hive Hive表檔案壓縮介紹
目錄壓縮 1 壓縮概述 2 開啟map輸出階段壓縮 3 開啟reduce輸出階段壓縮 4 建立表時指定壓縮格式 mr 支援的壓縮編碼 為了支援多種壓縮 解壓縮演算法,hadoop引入了編碼 解碼器 壓縮效能的比較 假如有乙個表 createtableemp t idint,namestring,de...
hive hive 內部表和外部表
1.內部表 hive test1 create table com inner person id int,name string,age int,ctime timestamp row format delimited fields terminated by oktime taken 0.233...
Hive Hive的常用運算和函式
hive支援的關係運算子 hive數 算 注意 hive 中最高精度的資料型別是 double,只精確到小數點後 16 位,在做除法運算的時候要 特別注意 hive select ceil 28.0 6.999999999999999999999 from dual limit 1 結果為4 hiv...