hive元数据库理解

在hive2.1.1 里面一共有59张表

表1 VERSION

select * from VERSION limit 2;

version表存hive的版本信息,该表中数据只有一条,如果存在多条,会造成hive启动不起来。

表2  DBS

select * from DBS;

DB_ID:数据库ID,DESC:数据库描述,DB_LOCATION_URI:数据HDFS路径,NAME:数据库名,OWNER_NAME:数据库所有者用户名,OWNER_TYPE:所有者角色。

表3 DATABASE_PARAMS

select * from DATABASE_PARAMS

该表存储数据库的相关参数,在CREATE DATABASE时候用 WITH DBPROPERTIES (property_name=property_value, …)指定的参数。

 

表4 TBLS

select * from TBLS limit 3;

bls表显示表的详细信息,tbl_id为主键,唯一表示该表,里面存放表的创建时间create_time,表所属的库id(DB_ID),表的拥有着(OWNER),SD_ID ,表的名称TBL_NAME,表的类型(TBL_TYPE)表示内部表还是外部表.

表5

select * from table_params


 如表的最后一次ddl时间,表的注释,如果是非分区表还有该表对应着HDFS文件个数,大小.(通过TBL_ID 来关联表)

表6  TBL_PRIVS

select * from TBL_PRIVS

 如表的最后一次ddl时间,表的注释,如果是非分区表还有该表对应着HDFS文件个数,大小

Hive文件存储信息相关的元数据表

SDS:

该表对应的文件存储的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否压缩等。TBLS表中的SD_ID与该表关联,可以获取Hive表的存储信息

SDS、SD_PARAMS、SERDES、SERDE_PARAMS,由于HDFS支持的文件格式很多,而建Hive表时候也可以指定各种文件格式,Hive在将HQL解析成MapReduce时候,需要知道去哪里,使用哪种格式去读写HDFS文件,而这些信息就保存在这几张表中.

原文地址:https://www.cnblogs.com/ZFBG/p/11077730.html