目錄
正文
概述
Hive 的元數據信息通常存儲在關(guān)系型數據庫中,常用MySQL數據庫作為元數據庫管理。上一篇hive的安裝也是將元數據信息存放在MySQL數據庫中。
Hive的元數據信息在MySQL數據中有57張表
一、存儲Hive版本的元數據表(VERSION)
VERSION -- 查詢(xún)版本信息
該表比較簡(jiǎn)單,但很重要。
VER_IDSCHEMA_VERSIONVERSION_COMMENT
ID主鍵Hive版本版本說(shuō)明
10.13.0Set by MetaStore
如果該表出現問(wèn)題,根本進(jìn)入不了Hive-Cli。
比如該表不存在,當啟動(dòng)Hive-Cli時(shí)候,就會(huì )報錯”Table ‘hive.version’ doesn’t exist”。
二、Hive數據庫相關(guān)的元數據表(DBS、DATABASE_PARAMS)
1、DBS
DBS -- 存儲Hive中所有數據庫的基本信息
元數據表字段說(shuō)明示例數據
DB_ID數據庫ID2
DESC數據庫描述測試庫
DB_LOCATION_URI數據庫HDFS路徑hdfs://namenode/user/hive/warehouse/lxw1234.db
NAME數據庫名lxw1234
OWNER_NAME數據庫所有者用戶(hù)名lxw1234
OWNER_TYPE所有者角色USER
2、DATABASE_PARAMS
DATABASE_PARAMS --該表存儲數據庫的相關(guān)參數,在CREATE DATABASE時(shí)候用
WITH DBPROPERTIES (property_name=property_value, …)指定的參數。
元數據表字段說(shuō)明示例數據
DB_ID數據庫ID2
PARAM_KEY參數名createdby
PARAM_VALUE參數值lxw1234
注意:
DBS和DATABASE_PARAMS這兩張表通過(guò)DB_ID字段關(guān)聯(lián)。
三、Hive表和視圖相關(guān)的元數據表
主要有TBLS、TABLE_PARAMS、TBL_PRIVS,這三張表通過(guò)TBL_ID關(guān)聯(lián)。
1、TBLS
該表中存儲Hive表、視圖、索引表的基本信息。
元數據表字段說(shuō)明示例數據
TBL_ID表ID1
CREATE_TIME創(chuàng )建時(shí)間1436317071
DB_ID數據庫ID2,對應DBS中的DB_ID
LAST_ACCESS_TIME上次訪(fǎng)問(wèn)時(shí)間1436317071
OWNER所有者liuxiaowen
RETENTION保留字段0
SD_ID序列化配置信息86,對應SDS表中的SD_ID
TBL_NAME表名lxw1234
TBL_TYPE表類(lèi)型MANAGED_TABLE、EXTERNAL_TABLE、INDEX_TABLE、VIRTUAL_VIEW
VIEW_EXPANDED_TEXT視圖的詳細HQL語(yǔ)句select `lxw1234`.`pt`, `lxw1234`.`pcid` from `liuxiaowen`.`lxw1234`
VIEW_ORIGINAL_TEXT視圖的原始HQL語(yǔ)句select * from lxw1234
2、TABLE_PARAMS
該表存儲表/視圖的屬性信息。
元數據表字段說(shuō)明示例數據
TBL_ID表ID1
PARAM_KEY屬性名totalSize、numRows、EXTERNAL
PARAM_VALUE屬性值970107336、21231028、TRUE
3、TBL_PRIVS
該表存儲表/視圖的授權信息
元數據表字段說(shuō)明示例數據
TBL_GRANT_ID授權ID1
CREATE_TIME授權時(shí)間1436320455
GRANT_OPTION 0
GRANTOR授權執行用戶(hù)liuxiaowen
GRANTOR_TYPE授權者類(lèi)型USER
PRINCIPAL_NAME被授權用戶(hù)username
PRINCIPAL_TYPE被授權用戶(hù)類(lèi)型USER
TBL_PRIV權限Select、Alter
TBL_ID表ID22,對應TBLS表中的TBL_ID
四、Hive文件存儲信息相關(guān)的元數據表
主要涉及SDS、SD_PARAMS、SERDES、SERDE_PARAMS
由于HDFS支持的文件格式很多,而建Hive表時(shí)候也可以指定各種文件格式,Hive在將HQL解析成MapReduce時(shí)候,需要知道去哪里,使用哪種格式去讀寫(xiě)HDFS文件,而這些信息就保存在這幾張表中。
1、SDS
該表保存文件存儲的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否壓縮等。
TBLS表中的SD_ID與該表關(guān)聯(lián),可以獲取Hive表的存儲信息。
元數據表字段說(shuō)明示例數據
SD_ID存儲信息ID1
CD_ID字段信息ID21,對應CDS表
INPUT_FORMAT文件輸入格式org.apache.hadoop.mapred.TextInputFormat
IS_COMPRESSED是否壓縮0
IS_STOREDASSUBDIRECTORIES是否以子目錄存儲0
LOCATIONHDFS路徑hdfs://namenode/hivedata/warehouse/ut.db/t_lxw
NUM_BUCKETS分桶數量5
OUTPUT_FORMAT文件輸出格式org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
SERDE_ID序列化類(lèi)ID3,對應SERDES表
2、SD_PARAMS
該表存儲Hive存儲的屬性信息,在創(chuàng )建表時(shí)候使用
STORED BY ‘storage.handler.class.name’ [WITH SERDEPROPERTIES (…)指定。
元數據表字段
說(shuō)明 示例數據
SD_ID存儲配置ID 1
PARAM_KEY存儲屬性名
PARAM_VALUE存儲屬性值
3、SERDES
該表存儲序列化使用的類(lèi)信息
元數據表字段說(shuō)明示例數據
SERDE_ID序列化類(lèi)配置ID1
NAME序列化類(lèi)別名
SLIB序列化類(lèi)org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
4、SERDE_PARAMS
該表存儲序列化的一些屬性、格式信息,比如:行、列分隔符
元數據表字段說(shuō)明示例數據
SERDE_ID序列化類(lèi)配置ID1
PARAM_KEY屬性名field.delim
PARAM_VALUE屬性值,
五、Hive表字段相關(guān)的元數據表
主要涉及COLUMNS_V2
1、COLUMNS_V2
該表存儲表對應的字段信息。
元數據表字段說(shuō)明示例數據
CD_ID字段信息ID1
COMMENT字段注釋
COLUMN_NAME字段名pt
TYPE_NAME字段類(lèi)型string
INTEGER_IDX字段順序2
六、Hive表分區相關(guān)的元數據表
主要涉及PARTITIONS、PARTITION_KEYS、PARTITION_KEY_VALS、PARTITION_PARAMS
1、PARTITIONS
該表存儲表分區的基本信息。
元數據表字段說(shuō)明示例數據
PART_ID分區ID1
CREATE_TIME分區創(chuàng )建時(shí)間
LAST_ACCESS_TIME最后一次訪(fǎng)問(wèn)時(shí)間
PART_NAME分區名pt=2015-06-12
SD_ID分區存儲ID21
TBL_ID表ID2
2、PARTITION_KEYS
該表存儲分區的字段信息。
元數據表字段說(shuō)明示例數據
TBL_ID表ID2
PKEY_COMMENT分區字段說(shuō)明
PKEY_NAME分區字段名pt
PKEY_TYPE分區字段類(lèi)型string
INTEGER_IDX分區字段順序1
3、PARTITION_KEY_VALS
該表存儲分區字段值。
元數據表字段說(shuō)明示例數據
PART_ID分區ID2
PART_KEY_VAL分區字段值2015-06-12
INTEGER_IDX分區字段值順序0
4、PARTITION_PARAMS
該表存儲分區的屬性信息。
元數據表字段說(shuō)明示例數據
PART_ID分區ID2
PARAM_KEY分區屬性名numFiles、numRows
PARAM_VALUE分區屬性值15、502195
七、其他不常用的元數據表
DB_PRIVS
數據庫權限信息表。通過(guò)GRANT語(yǔ)句對數據庫授權后,將會(huì )在這里存儲。
IDXS
索引表,存儲Hive索引相關(guān)的元數據
INDEX_PARAMS
索引相關(guān)的屬性信息。
TAB_COL_STATS
表字段的統計信息。使用ANALYZE語(yǔ)句對表字段分析后記錄在這里。
TBL_COL_PRIVS
表字段的授權信息
PART_PRIVS
分區的授權信息
PART_COL_STATS
分區字段的統計信息。
PART_COL_PRIVS
分區字段的權限信息。
FUNCS
用戶(hù)注冊的函數信息
FUNC_RU
用戶(hù)注冊函數的資源信息