Hive元数据信息表详解
1、存儲Hive版本的元數據表(VERSION)
?
?2、Hive數據庫相關的元數據表(DBS、DATABASE_PARAMS)
DBS:該表存儲Hive中所有數據庫的基本信息
字段如下:
?
?DATABASE_PARAMS:該表存儲數據庫的相關參數,在CREATE DATABASE時候用WITH DBPROPERTIES(property_name=property_value, …)指定的參數。
?
?
?DBS和DATABASE_PARAMS這兩張表通過DB_ID字段關聯。
?
3、Hive表和視圖相關的元數據表
主要有TBLS、TABLE_PARAMS、TBL_PRIVS,這三張表通過TBL_ID關聯。
TBLS:該表中存儲Hive表,視圖,索引表的基本信息
?
?
TABLE_PARAMS:該表存儲表/視圖的屬性信息
?
?
TBL_PRIVS:該表存儲表/視圖的授權信息
?
?
4、Hive文件存儲信息相關的元數據表
???? 主要涉及SDS、SD_PARAMS、SERDES、SERDE_PARAMS,由于HDFS支持的文件格式很多,而建Hive表時候也可以指定各種文件格式,Hive在將HQL解析成MapReduce時候,需要知道去哪里,使用哪種格式去讀寫HDFS文件,而這些信息就保存在這幾張表中。
SDS:該表保存文件存儲的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否壓縮等。TBLS表中的SD_ID與該表關聯,可以獲取Hive表的存儲信息。
?
?
SD_PARAMS:?該表存儲Hive存儲的屬性信息,在創建表時候使用STORED BY ‘storage.handler.class.name’ [WITH SERDEPROPERTIES (…)指定。
?
?
?SERDES:該表存儲序列化使用的類信息
?
?
SERDE_PARAMS:該表存儲序列化的一些屬性、格式信息,比如:行、列分隔符
?
?
5、Hive表字段相關的元數據表
COLUMNS_V2:該表存儲表對應的字段信息
?
?
6、Hive表分分區相關的元數據表
主要涉及PARTITIONS、PARTITION_KEYS、PARTITION_KEY_VALS、PARTITION_PARAMS
PARTITIONS:該表存儲表分區的基本信息
?
?
PARTITION_KEYS:該表存儲分區的字段信息
?
?
PARTITION_KEY_VALS:該表存儲分區字段值
?
?
PARTITION_PARAMS:該表存儲分區的屬性信息
?
?
6、其他不常用的元數據表
DB_PRIVS
數據庫權限信息表。通過GRANT語句對數據庫授權后,將會在這里存儲。
IDXS
索引表,存儲Hive索引相關的元數據
INDEX_PARAMS
索引相關的屬性信息
TBL_COL_STATS
表字段的統計信息。使用ANALYZE語句對表字段分析后記錄在這里
TBL_COL_PRIVS
表字段的授權信息
PART_PRIVS
分區的授權信息
PART_COL_PRIVS
分區字段的權限信息
PART_COL_STATS
分區字段的統計信息
FUNCS
用戶注冊的函數信息
FUNC_RU
用戶注冊函數的資源信息
?
舉個例子:
查詢一張表的列名:
select upper(t4.COLUMN_NAME) from TBLS t1 inner join DBS t2 on t1.DB_ID= t2.DB_ID inner join SDS t3 on t1.SD_ID = t3.SD_ID inner join COLUMNS_V2 t4 on t3.CD_ID= t4.CD_ID where t2.NAME='test' and t1.TBL_NAME = lower('test123') order by t4.INTEGER_IDX總結
以上是生活随笔為你收集整理的Hive元数据信息表详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线性代数笔记6——直线和曲线的参数方程
- 下一篇: ubuntu20.04安装edge浏览器