1. Hive 0.11 元数据表汇总
2、其他
权限相关:
TBL_PRIVS DB_PRIVS PART_PRIVS 等
数据倾斜相关:
SKEWED_COL_NAMES SKEWED_COL_VALUE_LOC_MAP SKEWED_STRING_LIST SKEWED_STRING_LIST_VALUES SKEWED_VALUES
3、hive元数据定义
hive元数据定义model: \src\metastore\src\model\ package.jdo和org.apache.hadoop.hive.metastore.model.*用来定义元数据的数据字典和操作。
hive元数据建表脚本: http://svn.apache.org/repos/asf/hive/branches/branch-0.11/metastore/scripts
1.1 概览
线上Hive 0.11 metastore包括39个表,可以分为以下几类 :
类别 | 表名 | 主键 | 描述 |
---|---|---|---|
Database相关 | DBS | DB_ID | 所有Hive数据库信息,包括HDFS数据目录、库名、备注等 |
DBS_PARAMS | DB_ID,PARAM_KEY | Database的属性信息 | |
TABLE相关 | TBLS | TBL_ID | 所有Hive基本表信息,包括所属DB_ID,创建者,表名,创建方式等 |
TABLE_PARAMS | TBL_ID | 表级属性,文件大小,最后一次ddl时间等等 | |
NUCLEUS_TABLES | CLASS_NAME | Hive元数据表和Hive中class类的对应关系(为什么该表是空呢?//todo) | |
SDS数据存储相关 | SDS | SD_ID | 所有Hive表、表分区所对应的HDFS数据目录和数据格式,包含序列化SERDE_ID |
SD_PARAMS | SD_ID | SDS的附加信息 | |
COLUMN相关 | CDS | CD_ID | 只有一个字段CD_ID,记录Hive数据仓库中所有的CD_ID,和COLUMN_V2关联 |
COLUMN_V2 | CD_ID,COLUMN_NAME | 各hive表字段信息,包括列名,类型 | |
SORT_COLS | SD_ID,INTEGER_IDX | Hive表创建时SORTED BY字段信息(字段名,sort类型,字段序号) | |
PARTITION相关 | PARTITION_KEYS | TBL_ID,PKEY_NAME | hive分区表所采用的分区键(字段),包含TBL_ID、分区字段名、分区字段序号(INTEGER_IDX) |
PARTITIONS | PART_ID | hive表分区信息,包含所属TBL_ID,分区名,如 log_date=2013-04-21 | |
PARTITION_KEY_VALS | PART_ID,INTEGER_IDX | 存储PART_ID分区,INTEGER_IDX分区字段的值(PART_KEY_VAL) | |
PARTITION_EVENTS | PART_NAME_ID | 存储PARTITION上发生的操作? | |
PARTITION_PARAMS | PART_ID | PARTITION的属性信息,如最后一次DDL时间(transisent_lastDdlTime) | |
PARTITION_COL_STATS | CD_ID | PARTITION 上列级别的统计信息 | |
SERDE序列化相关 | SERDES | SERDE_ID | hive序列化/反序列化使用到的类库信息,SLIB表示序列化采用的JAVA类 |
SERDE_PARAMS | SERDE_ID,PARAM_KEY | hive序列化/反序列化 采用的行分隔符等 | |
BUCKET桶相关 | BUCKETING_COLS | SD_ID | 采用分桶技术的SDS |
SKEW数据倾斜 | SKEWED_COL_NAMES | SD_ID,INTEGER_IDX | 空表 |
SKEWED_COL_VALUE_LOC_MAP | SD_ID,STRING_LIST_ID_KID | 空表 | |
SKEWED_STRING_LIST | STRING_LIST_ID | 空表 (只有STRING_LIST_ID一个字段) | |
SKEWED_STRING_LIST_VALUES | STRING_LIST_ID,INTEGER_IDX | 空表 | |
SKEWED_VALUES | SD_ID_OID,INTEGER_IDX | 空表 | |
PRIVS权限相关 | GLOBAL_PRIVS | USER_GRANT_ID | 空表 (全局权限管理) |
DB_PRIVS | DB_GRANT_ID | 空表 (数据库级别的权限管理,数据库权限授予信息) | |
TBL_PRIVS | TBL_GRANT_ID | 空表 (表级别的权限管理,表权限授予信息) | |
TBL_COL_PRIVS | TBL_COLUMN_GRANT_ID | 空表 (表级别的权限管理,列权限授予信息) | |
PART_PRIVS | PART_GRANT_ID | 空表 (PARTITION级别的权限管理,分区权限授予信息) | |
PART_COL_PRIVS | PART_COLUMN_GRANT_ID | 空表 (PARTITION上列级别的权限管理,) | |
ROLES | ROLE_ID | 空表 (角色表,记录所有的角色ROLE_ID、角色名、创建者、所有者) | |
ROLES_MAP | 空表 (角色管理表,记录所有的角色的授予信息) | ||
其他 | VERSIONS | VER_ID | 存储当前Schema的版本(SCHEMA_VERSION),以0.11为例,SCHEMA_VERSION=0.13 |
SEQUENCE_TABLE | SEQUENCE_NAME | 存储SEQUENCE对象下一个可用的值(NEXT_VAL) | |
TYPES | TYPES_ID | 空表,含义未知 | |
TYPE_FILEDS | TYPE_ID FIELD_NMAE | 空表,含义未知 | |
IDXS | IDX_ID | 空表,含义未知 | |
INDEX_PARAMS | IDX_ID,PARAM_KEY | 空表,IDXS的属性信息 | |
TAB_COL_STATS | CD_ID | 空表,COLUMN的统计信息,怀疑该表已被弃用 |
2、其他
权限相关:
TBL_PRIVS DB_PRIVS PART_PRIVS 等
数据倾斜相关:
SKEWED_COL_NAMES SKEWED_COL_VALUE_LOC_MAP SKEWED_STRING_LIST SKEWED_STRING_LIST_VALUES SKEWED_VALUES
3、hive元数据定义
hive元数据定义model: \src\metastore\src\model\ package.jdo和org.apache.hadoop.hive.metastore.model.*用来定义元数据的数据字典和操作。
hive元数据建表脚本: http://svn.apache.org/repos/asf/hive/branches/branch-0.11/metastore/scripts