Hive 元數據表結構詳解

元數據是基礎,這篇文章值得一讀。

本文介紹Hive元數據庫中一些重要的表結構及用途,方便Impala、SparkSQL、Hive等組件訪問元數據庫的理解。

1、存儲Hive版本的元數據表(VERSION)

該表比較簡單,但很重要。

VER_ID

SCHEMA_VERSION

VERSION_COMMENT

ID主鍵

Hive版本

版本說明

1

1.1.0

Set  by MetaStore

如果該表出現問題,根本進入不了Hive-Cli。比如該表不存在,當啓動Hive-Cli時候,就會報錯”Table ‘hive.version’ doesn’t exist”。

2、Hive數據庫相關的元數據表(DBS、DATABASE_PARAMS)

DBS:該表存儲Hive中所有數據庫的基本信息,字段如下:

表字段

說明

示例數據

DB_ID

數據庫ID

1

DESC

數據庫描述

Default  Hive database

DB_LOCATION_URI

數據HDFS路徑

hdfs://193.168.1.75:9000/test-warehouse

NAME

數據庫名

default

OWNER_NAME

數據庫所有者用戶名

public

OWNER_TYPE

所有者角色

ROLE

 

DATABASE_PARAMS:該表存儲數據庫的相關參數,在CREATE DATABASE時候用WITH DBPROPERTIES(property_name=property_value, …)指定的參數。

表字段

說明

示例數據

DB_ID

數據庫ID

1

PARAM_KEY

參數名

createdby

PARAM_VALUE

參數值

root

DBS和DATABASE_PARAMS這兩張表通過DB_ID字段關聯。

3、Hive表和視圖相關的元數據表

主要有TBLS、TABLE_PARAMS、TBL_PRIVS,這三張表通過TBL_ID關聯。

TBLS:該表中存儲Hive表,視圖,索引表的基本信息

表字段

說明

示例數據

TBL_ID

表ID

21

CREATE_TIME

創建時間

1447675704

DB_ID

數據庫ID

1

LAST_ACCESS_TIME

上次訪問時間

1447675704

OWNER

所有者

root

RETENTION

保留字段

0

SD_ID

序列化配置信息

41,對應SDS表中的SD_ID

TBL_NAME

表名

ex_detail_ufdr_30streaming

TBL_TYPE

表類型

EXTERNAL_TABLE

VIEW_EXPANDED_TEXT

視圖的詳細HQL語句


VIEW_ORIGINAL_TEXT

視圖的原始HQL語句


 

TABLE_PARAMS:該表存儲表/視圖的屬性信息

表字段

說明

示例數據

TBL_ID

表ID

1

PARAM_KEY

屬性名

totalSize,numRows,EXTERNAL

PARAM_VALUE

屬性值

970107336、21231028、TRUE

 

TBL_PRIVS:該表存儲表/視圖的授權信息

表字段

說明

示例數據

TBL_GRANT_ID

授權ID

1

CREATE_TIME

授權時間

1436320455

GRANT_OPTION


0

GRANTOR

授權執行用戶

root

GRANTOR_TYPE

授權者類型

USER

PRINCIPAL_NAME

被授權用戶

username

PRINCIPAL_TYPE

被授權用戶類型

USER

TBL_PRIV

權限

Select、Alter

TBL_ID

表ID

21,對應TBLS表的TBL_ID

4、Hive文件存儲信息相關的元數據表

主要涉及SDS、SD_PARAMS、SERDES、SERDE_PARAMS,由於HDFS支持的文件格式很多,而建Hive表時候也可以指定各種文件格式,Hive在將HQL解析成MapReduce時候,需要知道去哪裏,使用哪種格式去讀寫HDFS文件,而這些信息就保存在這幾張表中。

SDS:

該表保存文件存儲的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否壓縮等。TBLS表中的SD_ID與該表關聯,可以獲取Hive表的存儲信息。

表字段

說明

示例數據

SD_ID

存儲信息ID

41

CD_ID

字段信息ID

21,對應CDS表

INPUT_FORMAT

文件輸入格式

org.apache.hadoop.mapred.TextInputFormat

IS_COMPRESSED

是否壓縮

0

IS_STOREDASSUBDIRECTORIES

是否以子目錄存儲

0

LOCATION

HDFS路徑

hdfs://193.168.1.75:9000/detail_ufdr_streaming_test

NUM_BUCKETS

分桶數量

0

OUTPUT_FORMAT

文件輸出格式

org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

SERDE_ID

序列化類ID

41,對應SERDES表

SD_PARAMS該表存儲Hive存儲的屬性信息,在創建表時候使用STORED BY ‘storage.handler.class.name’ [WITH SERDEPROPERTIES (…)指定。

表字段

說明

示例數據

SD_ID

存儲配置ID

41

PARAM_KEY

存儲屬性名


PARAM_VALUE

存儲屬性值


SERDES:該表存儲序列化使用的類信息

表字段

說明

示例數據

SERDE_ID

序列化類配置ID

41

NAME

序列化類別名

NULL

SLIB

序列化類

org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

 

SERDE_PARAMS:該表存儲序列化的一些屬性、格式信息,比如:行、列分隔符

表字段

說明

示例數據

SERDE_ID

序列化類配置ID

41

PARAM_KEY

屬性名

field.delim

PARAM_VALUE

屬性值

|

5、Hive表字段相關的元數據表

主要涉及COLUMNS_V2

COLUMNS_V2:該表存儲表對應的字段信息

表字段

說明

示例數據

CD_ID

字段信息ID

21

COMMENT

字段註釋

NULL

COLUMN_NAME

字段名

air_port_duration

TYPE_NAME

字段類型

bigint

INTEGER_IDX

字段順序

119

6、Hive表分分區相關的元數據表

主要涉及PARTITIONS、PARTITION_KEYS、PARTITION_KEY_VALS、PARTITION_PARAMS

PARTITIONS:該表存儲表分區的基本信息

表字段

說明

示例數據

PART_ID

分區ID

21

CREATE_TIME

分區創建時間

1450861405

LAST_ACCESS_TIME

最後一次訪問時間

0

PART_NAME

分區名

hour=15/last_msisdn=0

SD_ID

分區存儲ID

43

TBL_ID

表ID

22

LINK_TARGET_ID


NULL

 

PARTITION_KEYS:該表存儲分區的字段信息

表字段

說明

示例數據

TBL_ID

表ID

22

PKEY_COMMENT

分區字段說明

NULL

PKEY_NAME

分區字段名

hour

PKEY_TYPE

分區字段類型

int

INTEGER_IDX

分區字段順序

0

 

PARTITION_KEY_VALS:該表存儲分區字段值

表字段

說明

示例數據

PART_ID

分區ID

21

PART_KEY_VAL

分區字段值

INTEGER_IDX

分區字段值順序

1

 

PARTITION_PARAMS:該表存儲分區的屬性信息

表字段

說明

示例數據

PART_ID

分區ID

21

PARAM_KEY

分區屬性名

numFiles,numRows

PARAM_VALUE

分區屬性值

1,502195

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

轉自:https://mp.weixin.qq.com/s?__biz=MzA3ODUxMzQxMA==&mid=2663993556&idx=1&sn=0e5291bd63426d747f32a7fd05128caa&scene=21#wechat_redirect 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章