為什麼使用hive
直接使用hadoop所面臨的問題
人員學習成本太高
專案週期要求太短
mapreduce實現複雜查詢邏輯開發難度太大
使用hive的優點:
操作介面採用類sql語法,提供快速開發的能力。
避免了去寫mapreduce,減少開發人員的學習成本。
擴充套件功能很方便。
1.1、什麼是hive
hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供類sql查詢功能。
1.2、hive的特點
2.1、架構圖
2.2、基本組成
2.3、各元件的基本功能
hive利用hdfs儲存資料,利用mapreduce查詢資料
總結:hive具有sql資料庫的外表,但應用場景完全不同,hive只適合用來做批量資料統計分析。
1、hive中所有的資料都儲存在 hdfs 中,沒有專門的資料儲存格式(可支援text,sequencefile,parquetfile,rcfile等)
2、只需要在建立表的時候告訴 hive 資料中的列分隔符和行分隔符,hive 就可以解析資料。
3、hive 中包含以下資料模型:db、table,external table,partition,bucket。
external table:外部表,與table類似,不過其資料存放位置可以在任意指定路徑 普通表: 刪除表後, hdfs上的檔案都刪了 external外部表刪除後,hdfs上的檔案沒有刪除, 只是把檔案刪除了。
partition:在hdfs中表現為table目錄下的子目錄 。
bucket:桶, 在hdfs中表現為同乙個表目錄下根據hash雜湊之後的多個檔案, 會根據不同的檔案把資料放到不同的檔案中。
對於hive來說,個人感覺只要知道以下幾個知識點就算是達到和博主一樣的小菜鳥的境界,後期可以通過專項學習來進化為「大鵬」:
1、hive是什麼,幹什麼用的。
2、理解hive的工作原理。
3、熟練掌握hql的編寫,能夠運用hql進行簡單的資料分析。
目前只想到了這些點,如有遺漏後續會接著補充。
Hive相關概念
hive 基於hadoop之上的乙個離線資料倉儲,使用hdfs作為底層儲存,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為mapreduce任務進行執行。hive主要分為以下幾個部分 1.使用者介面 使用者介面主要有三個 cli,client 和 web...
hive相關知識
hivesql的相關知識 1.union 和 union all的區別 兩個都能進行全連線,但是表字段名稱需要相同。不同的是union連線後的結果去重,union all的結果不去重 2.rank over 和row number over 的區別 rank over 的結果對存在的並列現象會全部顯...
Hive簡單介紹
學習慕課網 走近大資料之hive入門 教程的筆記。簡單介紹了hive的安裝,使用和基礎知識。hive是基於hadoop之上的資料倉儲 也是一種資料庫 資料倉儲一般不更新,一直增大。資料倉儲的結構和建立過程 oltp 聯機事務處理,例 銀行轉賬。olap 聯機分析處理,例 商品推薦系統。資料倉儲的資料...