[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資料儲存模型Hive模型
- 【Hive】hive資料遷移Hive
- 23 大資料之hive(第四部 hive基礎)大資料Hive
- Hive 表的兩種分類Hive
- hive 動態分割槽插入資料表Hive
- 將資料匯入kudu表(建立臨時hive表,從hive匯入kudu)步驟Hive
- hive將查詢資料插入表中某欄位無資料Hive
- 【大資料開發】Hive——Hive函式大全大資料Hive函式
- hive建表Hive
- Hive中的集合資料型別Hive資料型別
- 【HIVE】hive 使用shell指令碼跑歷史資料Hive指令碼
- hive學習筆記之四:分割槽表Hive筆記
- hive表中yyyymmdd格式日期校驗Hive
- Hive資料格式轉換Hive
- spark寫入hive資料SparkHive
- Hive 資料更新時間Hive
- Hive處理Json資料HiveJSON
- 大資料技術 - Hive大資料Hive
- 大資料4.2 -- hive資料庫大資料Hive資料庫
- Sqoop將MySQL資料匯入到hive中OOPMySqlHive
- 透過 ETL 匯出 Hive 中的資料Hive
- hive分桶表排序Hive排序
- Hive表的基本操作Hive
- hive on spark記憶體模型HiveSpark記憶體模型
- 使用Presto查詢hive表資料時報"Error opening Hive split hdfs"問題,及解決方法RESTHiveError
- hive(4)——後設資料概述Hive
- HIVE資料匯入基礎Hive
- hive學習之四:hive檔案格式以及壓縮編碼Hive
- Hive中的資料型別以及案例實操Hive資料型別
- Hive --------- hive 的優化Hive優化
- [Hive]Hive排序優化Hive排序優化
- Spark操作Hive分割槽表SparkHive
- Hive 與 ElasticSearch 的資料互動HiveElasticsearch
- 大資料5.1 - hive離線分析大資料Hive
- 大資料開發之路:hive篇大資料Hive
- 利用MySQL原資料資訊批量轉換指定庫資料表生成Hive建表語句MySqlHive
- 資料倉儲建模工具之一——Hive學習第四天Hive