文章目录
围绕hive的metastore的表结构进行分析:
Database
DBS表:column有DB_ID, DESC, DB_LOCATION_URI, NAME, OWNER_NAME, OWNER_TYPE 表示基本的DB信息,其中DB_ID是主键,关联的表有 FUNC_RU, FUNCS, DB_PRIVS, DATABASE_PARAMS和TBLS
其中FUNC表是用来存储udf的基本信息,一个UDF只能对应一个库下的表,FUNC_RU表,用来存储udf的类型以及执行的路径
DB_PRIVS表记录该DB下的权限记录信息。
DATABASE_PARAMS表记录DB的一些扩展信息,便于进行特殊属性的扩展,comment, owner, lastaccesstime, readtime
TBLS表记录该DB下面的所有TABLE的信息,对应唯一的DB_ID.
Table
TBLS表 TBL_ID, CREATE_TIME, DB_ID, LAST_ACCESS_TIME, OWNER,RETENTION, SD_ID, TBL_NAME, TBL_TYPE, VIEW_EXPANDED_TEXT, VIEW_ORIGNAL_TEXT
首先,TBLS表,这个表主要记录了table的一些基本信息,包括表名、创建时间、类型,以及SD_ID等信息。tbl_id为TBLS的主键,同时也是TABLE_PARAMS、TBL_PRIVS、TBL_COL_PRIVS、TAB_COL_STATS、SDS、PARTITIONS、PARTITION_KEYS、IDXS表的外键。
每个TBLS都对应唯一的DB_ID,取决于你在哪个db下创建的表。在创建表写入meta的同时,也会创建相应的物