[hive]hive資料模型中四種表
Hive包含內部表、外部表、分割槽表和桶表。
一、內部表
內部表也稱為管理表。因為這種表,Hive會或多或少地空值資料的生命週期。Hive預設情況下回將這些表的資料儲存在由配置項hive.metastore.warehouse.dir所定義的目錄(比如/user/hive/warehouse)的子目錄下。
如果我有一個表test,那麼在HDFS中會建立/user/hive/warehouse/test目錄(這裡假定hive.metastore.warehouse.dir配置為/user/hive/warehouse);test表所對應的所有資料都存放在這個目錄中。
如果刪除這張表,則表在關係資料中儲存的後設資料以及在warehouse目錄下的資料也會被清除掉。
同時管理表不方便與其他工作共享資料。例如我們有一份由Pig或者其他工具建立並且主要由這一工具使用的資料,同時我們還想使用Hive在這份資料上執行一些查詢,可是並沒有給予Hive對資料的所有權,我們可以建立一個外部表指向這份資料,而並不需要對其具有所有權。
二、外部表
為了避免潛在產生混淆的可能性,如果使用者不想使用預設的表路徑,那麼最好是使用外部表。
外部表可以讀取指定目錄下的以逗號為分隔的資料:
CREATE EXTERNAL TABLE IF NOT EXISTS stocks(
exchange STRING,
symbol STRING,
ymd STRING,
price_open FLOAT,
price_high FLOAT,
volume INT,
price_adj_close FLOAT)
ROW FORMAT DELIMITED FIFLDS TERMINATED BY ',' --逗號分隔檔案
LOCATION '/data/stocks' --指定Hive資料的路徑
因為表是外部的,所以Hive並非認為完全擁有這份資料,從而刪除該表的時候不會刪除這份資料。不過描述表的後設資料資訊會被刪除掉。
三、分割槽表
分割槽表用於水平分散壓力,將資料從物理上轉移到和使用最頻繁的使用者更近的地方。
相關文章
- 掌握Hive資料儲存模型Hive模型
- Hive學習筆記 3 Hive的資料模型:內部表、分割槽表、外部表、桶表、檢視Hive筆記模型
- 【Hive】hive資料遷移Hive
- 大資料時代的技術hive:hive的資料型別和資料模型大資料Hive資料型別模型
- 23 大資料之hive(第四部 hive基礎)大資料Hive
- HIVE 資料同步Hive
- hive將查詢資料插入表中某欄位無資料Hive
- hive 動態分割槽插入資料表Hive
- Hive資料庫及表的基本操作Hive資料庫
- 【大資料開發】Hive——Hive函式大全大資料Hive函式
- 將資料匯入kudu表(建立臨時hive表,從hive匯入kudu)步驟Hive
- hive建表Hive
- Hive中的集合資料型別Hive資料型別
- 【HIVE】hive 使用shell指令碼跑歷史資料Hive指令碼
- 大資料時代的技術hive:hive介紹大資料Hive
- Hive資料匯出Hive
- Hive資料傾斜Hive
- hive學習筆記之四:分割槽表Hive筆記
- Hive學習筆記 2 Hive的資料型別Hive筆記資料型別
- Hive學習筆記 4 Hive的資料匯入Hive筆記
- [Hadoop]Hive r0.9.0中文文件(四)之Hive變數的使用HadoopHive變數
- hive後設資料和mysql表的對應HiveMySql
- spark寫入hive資料SparkHive
- Hive資料格式轉換Hive
- Hive 資料更新時間Hive
- 大資料技術 - Hive大資料Hive
- Hive之 資料儲存Hive
- Hive之 資料型別Hive資料型別
- 大資料4.2 -- hive資料庫大資料Hive資料庫
- HIVE隨手記——Hive命令(?$HIVE_HOME/bin/hive)Hive
- 透過 ETL 匯出 Hive 中的資料Hive
- hive on spark記憶體模型HiveSpark記憶體模型
- Hive表的基本操作Hive
- hive分桶表排序Hive排序
- Hive學習筆記 5 Hive的資料查詢、函式Hive筆記函式
- 使用Presto查詢hive表資料時報"Error opening Hive split hdfs"問題,及解決方法RESTHiveError
- Sqoop將MySQL資料匯入到hive中OOPMySqlHive
- Hive中的資料型別以及案例實操Hive資料型別