数据库
DBS
数据库信息,记录了数据库的名称、Location和描述等
| 列名 | 描述 | 示例数据 |
|---|---|---|
| DB_ID | 数据库ID | 1 |
| DESC | 数据库描述 | Default Hive database |
| DB_LOCATION_URI | 数据库Location | viewfs://...... |
| NAME | 数据库名 | default |
| OWNER_NAME | 数据库owner | public |
| OWNER_TYPE | owner类型 | ROLE |
表
TBLS
Hive表信息,记录了表的名称、类型
外键:
- DB_ID:关联 DBS
- SD_ID:关联 SDS
| 列名 | 描述 | 示例数据 |
|---|---|---|
| TBL_ID | 表ID | 1 |
| CREATE_TIME | 创建时间,十位时间戳 | 1494310346 |
| DB_ID | 数据库ID | 1 |
| LAST_ACCESS_TIME | 最近访问时间,十位时间戳 | 1494310346 |
| OWNER | 表所有者 | hive |
| RETENTION | 保留字段 | 0 |
| SD_ID | 列相关信息外键 | 1 |
| TBL_NAME | 表名 | xxxxxx |
| TBL_TYPE | 表类型 | 取值:MANAGED_TABLE、EXTERNAL_TABLE、INDEX_TABLE、VIRTUAL_VIEW |
| VIEW_EXPANDED_TEXT | 视图扩展SQL | VIEW_ORIGINAL_TEXT的详细写法 |
| VIEW_ORIGINAL_TEXT | 视图原始SQL | select * from 库名.表名 |
| IS_REWRITE_ENABLED | 表是否可重写 |
字段和存储
SDS
表的存储信息,并且可以关联 COLUMNS_V2 来获取表字段信息
外键:
- CD_ID:关联 COLUMNS_V2
- SERDE_ID:关联 SERDES
| 列名 | 描述 | 示例数据 |
|---|---|---|
| SD_ID | 存储信息id | 1 |
| CD_ID | 字段id | 1 |
| INPUT_FORMAT | 读取表数据的input_format类 | org.apache.hadoop.mapred.TextInputFormat |
| IS_COMPRESSED | 是否压缩 | 0 |
| IS_STOREDASSUBDIRECTORIES | 是否以子目录存储 | 0 |
| LOCATION | 表Location | viewfs://...... |
| NUM_BUCKETS | 分桶数量 | 0 |
| OUTPUT_FORMAT | 写入表数据的output_format类 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat |
| SERDE_ID | 序列化类id | 1 |
COLUMNS_V2
表的字段
| 列名 | 描述 | 示例数据 |
|---|---|---|
| CD_ID | 字段id | 1 |
| COMMENT | 字段描述 | 名称 |
| COLUMN_NAME | 字段名称 | name |
| TYPE_NAME | 字段类型 | string |
| INTEGER_IDX | 字段在表中的index | 0 |
SERDES
存储相关的序列化类
| 列名 | 描述 | 示例数据 |
|---|---|---|
| SERDE_ID | 序列化类id | 1 |
| NAME | 名称 | |
| SLIB | class全限定名 | org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
分区
PARTITIONS
表的分区信息
外键:
- SD_ID:关联 SDS,每个分区都有独立的一条 SDS 记录
- TBL_ID:关联 TBLS
| 列名 | 描述 | 示例数据 |
|---|---|---|
| PART_ID | 分区id | 1 |
| CREATE_TIME | 分区创建时间,十位时间戳 | 1494310346 |
| LAST_ACCESS_TIME | 最近访问时间,十位时间戳 | 1494310346 |
| PART_NAME | 分区名称 | 分区字段=分区值 |
| SD_ID | 存储信息id | 1 |
| TBL_ID | 表id | 1 |
PARTITION_KEYS
Hive表的分区字段
| 列名 | 描述 | 示例数据 |
|---|---|---|
| TBL_ID | 表id | 1 |
| PKEY_COMMENT | 分区字段描述 | |
| PKEY_NAME | 分区字段名称 | |
| PKEY_TYPE | 分区字段类型 | string |
| INTEGER_IDX | 分区字段index | 0 |
PARTITION_KEY_VALS
分区字段的取值
| 列名 | 描述 | 示例数据 |
|---|---|---|
| PART_ID | 分区id | 1 |
| PART_KEY_VAL | 分区字段的值 | |
| INTEGER_IDX | 对应的分区字段索引 | 0 |
如果某个分区有两个分区字段:type,subType,其中type为第一个分区字段,索引为 0
并且存在一个分区 type='家电'/subType='电视机',该表会有以下记录
| PART_ID | PART_KEY_VAL | INTEGER_IDX |
|---|---|---|
| xxx | 家电 | 0 |
| xxx | 电视机 | 1 |
自定义函数
FUNCS
| 列名 | 描述 | 示例数据 |
|---|---|---|
| FUNC_ID | 函数id | 1 |
| CLASS_NAME | 函数类全限定名 | com.xiaoke.HelloWorld |
| CREATE_TIME | 创建时间,十位时间戳 | 1599547311 |
| DB_ID | 函数归属数据库id | 1 |
| FUNC_NAME | 函数名称 | hello_world |
| FUNC_TYPE | 函数类型 | 1 |
| OWNER_NAME | 函数owner | hive |
| OWNER_TYPE | owner类型 | USER |
FUNC_RU
| 列名 | 描述 | 示例数据 |
|---|---|---|
| FUNC_ID | 函数id | 1 |
| RESOURCE_TYPE | 资源类型 | 1 |
| RESOURCE_URI | 资源URI | hdfs://... |
| INTEGER_IDX |
一些属性表
DATABASE_PARAMS
数据库属性
| 列名 | 描述 | 示例数据 |
|---|---|---|
| DB_ID | 数据库ID | 1 |
| PARAM_KEY | 属性键 | |
| PARAM_VALUE | 属性值 |
TABLE_PARAMS
Hive表属性
| 列名 | 描述 | 示例数据 |
|---|---|---|
| TBL_ID | 表ID | 1 |
| PARAM_KEY | 属性键 | |
| PARAM_VALUE | 属性值 |
PARAM_KEY:
- EXTERNAL:是否外部表
- comment:表描述
- totalSize:表大小
- numRows:表记录数
SD_PARAMS
| 列名 | 描述 | 示例数据 |
|---|---|---|
| SD_ID | 存储信息id | 1 |
| PARAM_KEY | 属性键 | |
| PARAM_VALUE | 属性值 |
SERDE_PARAMS
序列化属性
| 列名 | 描述 | 示例数据 |
|---|---|---|
| SERDE_ID | 序列化类id | 1 |
| PARAM_KEY | 属性键 | |
| PARAM_VALUE | 属性值 |
PARTITION_PARAMS
分区属性
| 列名 | 描述 | 示例数据 |
|---|---|---|
| PART_ID | 分区id | 1 |
| PARAM_KEY | 属性键 | |
| PARAM_VALUE | 属性值 |