Hive学习笔记10@元数据解析

Hive元数据不存放在Hdfs上,而是存放在RDBMS上,典型的如Mysql、Derby等。

Mysql元数据库

查看元数据库

use hive;   //使用 hive 数据库库

show tables;

 

mysql> show tables;

+---------------------------+

| Tables_in_hive            |

+---------------------------+

| BUCKETING_COLS            |

| CDS                       |

| COLUMNS_V2                |

| DATABASE_PARAMS           |

| DBS                       |

| FUNCS                     |

| FUNC_RU                   |

| GLOBAL_PRIVS              |

| IDXS                      |

| INDEX_PARAMS              |

| PARTITIONS                |

| PARTITION_KEYS            |

| PARTITION_KEY_VALS        |

| PARTITION_PARAMS          |

| PART_COL_PRIVS            |

| PART_COL_STATS            |

| PART_PRIVS                |

| ROLES                     |

| SDS                       |

| SD_PARAMS                 |

| SEQUENCE_TABLE            |

| SERDES                    |

| SERDE_PARAMS              |

| SKEWED_COL_NAMES          |

| SKEWED_COL_VALUE_LOC_MAP  |

| SKEWED_STRING_LIST        |

| SKEWED_STRING_LIST_VALUES |

| SKEWED_VALUES             |

| SORT_COLS                 |

| TABLE_PARAMS              |

| TAB_COL_STATS             |

| TBLS                      |

| TBL_COL_PRIVS             |

| TBL_PRIVS                 |

| VERSION                   |

+---------------------------+

元数据表说明

表名

表说明

关联键

COLUMNS_V2

Hive表字段信息(字段注释,字段名,字段类型,字段序号)

CD_ID

DBS

元数据库信息(数据库描述、数据库LOCATION_URI,名称等)

 

PARTITIONS

Hive表分区信息

 

PARTITION_KEYS

Hive分区表分区键

 

PARTITION_KEY_VALS

Hive表分区名(键值)

 

SDS

所有hive表、表分区所对应的hdfs数据目录和数据格式

SD_ID,CD_ID

SEQUENCE_TABLE

Hive序列信息(序列名称,序列值)

 

SERDE_PARAM

序列化反序列化信息,如行分隔符、列分隔符、NULL的表示字符等

 

TABLE_PARAMS

表级属性,如是否外部表,表注释等

 

TBLS

hive表的基本信息

 

 

Hive创建表过程

解析用户提交hive语句,对其进行解析,分解为表、字段、分区等hive对象;

根据解析到的信息构建对应的表、字段、分区等对象,从SEQUENCE_TABLE中获取构建对象的最新ID,与构建对象信息(名称,类型等)一同通过DAO方法写入到元数据表中去,成功后将SEQUENCE_TABLE中对应的最新ID+5。

 

你可能感兴趣的:(hive)