hive的metadata中的表用途说明

在本例中将Hive的metadata存储在mysql中;

透彻理解每个表的用途,以及每个表之间是通过什么进行关联,对于用hive用着很大的帮助;

Hive的版本不同,表的个数也有可能不同;Hive 1.1是36张表,1.2是35张表;

要重点理解的表:

    VERSION

    DBS

    CDS

    TBLS

    COLUMNS_V2

    PARTITIONS

    PARTITION_KEYS

    PARTITION_KEY_VALUES

    FUNCS

VERSION表

此表中只能有一条信息,如果为0条或者大于1条,Hive均无法启动;
此表记录了Hive的版本信息;

hive的metadata中的表用途说明

DBS表

此表记录了Hive中的数据库信息;
包括数据库的ID(DB_ID)、在HDFS上的存储位置(DB_LOCATION_URI)、DB的名字(NAME字段)

hive的metadata中的表用途说明

TBLS表

此表记录了Hive库中的表信息;
包含了表的ID(TBL_ID)、所属的数据库(DB_ID)、表名(TBL_NAME)、表类型(TBL_TYPE,比如是内部表还是外部表),表的存储格式(SD_ID);
select * from TBLS/G;

hive的metadata中的表用途说明

SDS表

此表记录了表的输入、输出格式、存储位置等信息;
select * from SDS/G;

hive的metadata中的表用途说明

COLUMNS_V2表

此表记录了hive表中的列字段信息;通过CD_ID进行关联;
包含了表的列名(COLUMN_NAME)、列的数据类型(TYPE_NAME)、列的编号(INTEGER_IDX)
select * from COLUMNS_V2/G

注:hive通过列的编号(INTEGER_IDX)来确定列的位置,以防止数据错乱;

hive的metadata中的表用途说明

PARTITIONS(分区)表

此表记录了分区表的信息;
包括了分区表的分区值(PART_NAME)、表的输入输出格式(SD_ID)、所属的表(TBL_ID); 
select * from PARTITIONS;

hive的metadata中的表用途说明

PARTITION_KEYS(分区的key)表

此表记录了分区的key;通过TBL_ID关联到表;
select * from PARTITION_KEYS;
注:可以看到分区的key是day;

hive的metadata中的表用途说明

PARTITION_KEY_VALS(分表key的value)表

此表记录了分区的key的value;通过TBL_ID关联到表;
select * from PARTITION_KEY_VALS;
注:可以看重到key的value值

hive的metadata中的表用途说明

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/197196.html

(0)
上一篇 2021年11月17日
下一篇 2021年11月17日

相关推荐

发表回复

登录后才能评论