目錄 正文 概述
Hive 的元數(shù)據(jù)信息通常存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中,常用MySQL數(shù)據(jù)庫(kù)作為元數(shù)據(jù)庫(kù)管理。上一篇hive的安裝也是將元數(shù)據(jù)信息存放在MySQL數(shù)據(jù)庫(kù)中。
Hive的元數(shù)據(jù)信息在MySQL數(shù)據(jù)中有57張表

一、存儲(chǔ)Hive版本的元數(shù)據(jù)表(VERSION)
VERSION -- 查詢版本信息

該表比較簡(jiǎn)單,但很重要。
VER_ID |
SCHEMA_VERSION |
VERSION_COMMENT |
ID主鍵 |
Hive版本 |
版本說(shuō)明 |
1 |
0.13.0 |
Set by MetaStore |
如果該表出現(xiàn)問(wèn)題,根本進(jìn)入不了Hive-Cli。
比如該表不存在,當(dāng)啟動(dòng)Hive-Cli時(shí)候,就會(huì)報(bào)錯(cuò)”Table ‘hive.version’ doesn’t exist”。
二、Hive數(shù)據(jù)庫(kù)相關(guān)的元數(shù)據(jù)表(DBS、DATABASE_PARAMS)
1、DBS
DBS -- 存儲(chǔ)Hive中所有數(shù)據(jù)庫(kù)的基本信息

元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
DB_ID |
數(shù)據(jù)庫(kù)ID |
2 |
DESC |
數(shù)據(jù)庫(kù)描述 |
測(cè)試庫(kù) |
DB_LOCATION_URI |
數(shù)據(jù)庫(kù)HDFS路徑 |
hdfs://namenode/user/hive/warehouse/lxw1234.db |
NAME |
數(shù)據(jù)庫(kù)名 |
lxw1234 |
OWNER_NAME |
數(shù)據(jù)庫(kù)所有者用戶名 |
lxw1234 |
OWNER_TYPE |
所有者角色 |
USER |
2、DATABASE_PARAMS
DATABASE_PARAMS --該表存儲(chǔ)數(shù)據(jù)庫(kù)的相關(guān)參數(shù),在CREATE DATABASE時(shí)候用
WITH DBPROPERTIES (property_name=property_value, …)指定的參數(shù)。

元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
DB_ID |
數(shù)據(jù)庫(kù)ID |
2 |
PARAM_KEY |
參數(shù)名 |
createdby |
PARAM_VALUE |
參數(shù)值 |
lxw1234 |
注意:
DBS和DATABASE_PARAMS這兩張表通過(guò)DB_ID字段關(guān)聯(lián)。
三、Hive表和視圖相關(guān)的元數(shù)據(jù)表
主要有TBLS、TABLE_PARAMS、TBL_PRIVS,這三張表通過(guò)TBL_ID關(guān)聯(lián)。
1、TBLS
該表中存儲(chǔ)Hive表、視圖、索引表的基本信息。
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
TBL_ID |
表ID |
1 |
CREATE_TIME |
創(chuàng)建時(shí)間 |
1436317071 |
DB_ID |
數(shù)據(jù)庫(kù)ID |
2,對(duì)應(yīng)DBS中的DB_ID |
LAST_ACCESS_TIME |
上次訪問(wèn)時(shí)間 |
1436317071 |
OWNER |
所有者 |
liuxiaowen |
RETENTION |
保留字段 |
0 |
SD_ID |
序列化配置信息 |
86,對(duì)應(yīng)SDS表中的SD_ID |
TBL_NAME |
表名 |
lxw1234 |
TBL_TYPE |
表類型 |
MANAGED_TABLE、EXTERNAL_TABLE、INDEX_TABLE、VIRTUAL_VIEW |
VIEW_EXPANDED_TEXT |
視圖的詳細(xì)HQL語(yǔ)句 |
select `lxw1234`.`pt`, `lxw1234`.`pcid` from `liuxiaowen`.`lxw1234` |
VIEW_ORIGINAL_TEXT |
視圖的原始HQL語(yǔ)句 |
select * from lxw1234 |
2、TABLE_PARAMS
該表存儲(chǔ)表/視圖的屬性信息。
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
TBL_ID |
表ID |
1 |
PARAM_KEY |
屬性名 |
totalSize、numRows、EXTERNAL |
PARAM_VALUE |
屬性值 |
970107336、21231028、TRUE |
3、TBL_PRIVS
該表存儲(chǔ)表/視圖的授權(quán)信息
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
TBL_GRANT_ID |
授權(quán)ID |
1 |
CREATE_TIME |
授權(quán)時(shí)間 |
1436320455 |
GRANT_OPTION |
|
0 |
GRANTOR |
授權(quán)執(zhí)行用戶 |
liuxiaowen |
GRANTOR_TYPE |
授權(quán)者類型 |
USER |
PRINCIPAL_NAME |
被授權(quán)用戶 |
username |
PRINCIPAL_TYPE |
被授權(quán)用戶類型 |
USER |
TBL_PRIV |
權(quán)限 |
Select、Alter |
TBL_ID |
表ID |
22,對(duì)應(yīng)TBLS表中的TBL_ID |
四、Hive文件存儲(chǔ)信息相關(guān)的元數(shù)據(jù)表
主要涉及SDS、SD_PARAMS、SERDES、SERDE_PARAMS
由于HDFS支持的文件格式很多,而建Hive表時(shí)候也可以指定各種文件格式,Hive在將HQL解析成MapReduce時(shí)候,需要知道去哪里,使用哪種格式去讀寫(xiě)HDFS文件,而這些信息就保存在這幾張表中。
1、SDS
該表保存文件存儲(chǔ)的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否壓縮等。
TBLS表中的SD_ID與該表關(guān)聯(lián),可以獲取Hive表的存儲(chǔ)信息。
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
SD_ID |
存儲(chǔ)信息ID |
1 |
CD_ID |
字段信息ID |
21,對(duì)應(yīng)CDS表 |
INPUT_FORMAT |
文件輸入格式 |
org.apache.hadoop.mapred.TextInputFormat |
IS_COMPRESSED |
是否壓縮 |
0 |
IS_STOREDASSUBDIRECTORIES |
是否以子目錄存儲(chǔ) |
0 |
LOCATION |
HDFS路徑 |
hdfs://namenode/hivedata/warehouse/ut.db/t_lxw |
NUM_BUCKETS |
分桶數(shù)量 |
5 |
OUTPUT_FORMAT |
文件輸出格式 |
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat |
SERDE_ID |
序列化類ID |
3,對(duì)應(yīng)SERDES表 |
2、SD_PARAMS
該表存儲(chǔ)Hive存儲(chǔ)的屬性信息,在創(chuàng)建表時(shí)候使用
STORED BY ‘storage.handler.class.name’ [WITH SERDEPROPERTIES (…)指定。
元數(shù)據(jù)表字段
|
說(shuō)明 |
示例數(shù)據(jù) |
SD_ID |
存儲(chǔ)配置ID |
1 |
PARAM_KEY |
存儲(chǔ)屬性名 |
|
PARAM_VALUE |
存儲(chǔ)屬性值 |
|
3、SERDES
該表存儲(chǔ)序列化使用的類信息
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
SERDE_ID |
序列化類配置ID |
1 |
NAME |
序列化類別名 |
|
SLIB |
序列化類 |
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
4、SERDE_PARAMS
該表存儲(chǔ)序列化的一些屬性、格式信息,比如:行、列分隔符
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
SERDE_ID |
序列化類配置ID |
1 |
PARAM_KEY |
屬性名 |
field.delim |
PARAM_VALUE |
屬性值 |
, |
五、Hive表字段相關(guān)的元數(shù)據(jù)表
主要涉及COLUMNS_V2
1、COLUMNS_V2
該表存儲(chǔ)表對(duì)應(yīng)的字段信息。
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
CD_ID |
字段信息ID |
1 |
COMMENT |
字段注釋 |
|
COLUMN_NAME |
字段名 |
pt |
TYPE_NAME |
字段類型 |
string |
INTEGER_IDX |
字段順序 |
2 |
六、Hive表分區(qū)相關(guān)的元數(shù)據(jù)表
主要涉及PARTITIONS、PARTITION_KEYS、PARTITION_KEY_VALS、PARTITION_PARAMS
1、PARTITIONS
該表存儲(chǔ)表分區(qū)的基本信息。
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
PART_ID |
分區(qū)ID |
1 |
CREATE_TIME |
分區(qū)創(chuàng)建時(shí)間 |
|
LAST_ACCESS_TIME |
最后一次訪問(wèn)時(shí)間 |
|
PART_NAME |
分區(qū)名 |
pt=2015-06-12 |
SD_ID |
分區(qū)存儲(chǔ)ID |
21 |
TBL_ID |
表ID |
2 |
2、PARTITION_KEYS
該表存儲(chǔ)分區(qū)的字段信息。
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
TBL_ID |
表ID |
2 |
PKEY_COMMENT |
分區(qū)字段說(shuō)明 |
|
PKEY_NAME |
分區(qū)字段名 |
pt |
PKEY_TYPE |
分區(qū)字段類型 |
string |
INTEGER_IDX |
分區(qū)字段順序 |
1 |
3、PARTITION_KEY_VALS
該表存儲(chǔ)分區(qū)字段值。
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
PART_ID |
分區(qū)ID |
2 |
PART_KEY_VAL |
分區(qū)字段值 |
2015-06-12 |
INTEGER_IDX |
分區(qū)字段值順序 |
0 |
4、PARTITION_PARAMS
該表存儲(chǔ)分區(qū)的屬性信息。
元數(shù)據(jù)表字段 |
說(shuō)明 |
示例數(shù)據(jù) |
PART_ID |
分區(qū)ID |
2 |
PARAM_KEY |
分區(qū)屬性名 |
numFiles、numRows |
PARAM_VALUE |
分區(qū)屬性值 |
15、502195 |
七、其他不常用的元數(shù)據(jù)表
數(shù)據(jù)庫(kù)權(quán)限信息表。通過(guò)GRANT語(yǔ)句對(duì)數(shù)據(jù)庫(kù)授權(quán)后,將會(huì)在這里存儲(chǔ)。
索引表,存儲(chǔ)Hive索引相關(guān)的元數(shù)據(jù)
索引相關(guān)的屬性信息。
表字段的統(tǒng)計(jì)信息。使用ANALYZE語(yǔ)句對(duì)表字段分析后記錄在這里。
表字段的授權(quán)信息
分區(qū)的授權(quán)信息
分區(qū)字段的統(tǒng)計(jì)信息。
分區(qū)字段的權(quán)限信息。
用戶注冊(cè)的函數(shù)信息
用戶注冊(cè)函數(shù)的資源信息
|