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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM