二、掌握Hive資料儲存模型
(一)Hive儲存格式
1、真實資料(HDFS)
儲存格式 | 儲存 | |
---|---|---|
TEXTFILE | 行 | Hive預設儲存格式,常見有txt、csv、tsv |
SEQUENCEFILE | 行 | 二進位制序列化過得Key/Value位元組流,壓縮選項有:None不壓縮、RECORD(預設)記錄級壓縮&壓縮率低、BLOCK塊級壓縮&壓縮率高 |
RCFILE | 行列 | 先水平再垂直 |
ORCFILE | 行列 | RCFILE得最佳化,支援壓縮比高的壓縮演算法,支援複雜的資料結構 |
2、後設資料
Hive後設資料包括hive庫資訊、表資訊(表的屬性、表的名稱、表的列、分割槽及其屬性)以及表資料所在的目錄等。
Hive的後設資料,預設是儲存在derby中的,但是我們一般會修改其儲存在關係型資料庫比如MYSQL中(其可以在hive配置中修改),在關係型資料庫中會有一個hive庫,存放相應的表。
(二)Hive資料單元
資料單元 | |
---|---|
資料庫 | 類似RDBMS的資料庫 |
表 | 由列構成,可進行過濾、對映、連線和聯合操作 |
分割槽 | 指定鍵分為多個區,提高查詢效率 |
分桶 | 指定某列雜湊值分為多個桶 |
❗注意
- Hive表沒有主鍵
- 0.14版本前不支援行級操作
- 不支援批次update,只能先刪除再新增
- 分割槽和分桶極大地提高了查詢效率