Hive元数据在MySQL的存储逻辑及关系
在大数据中,很多情况下是将hive的元数据存放在mysql数据库中,通过hive配置的连接字符串:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive3?createDatabaseIfNotExist=true</value>
</property>
能确认连接的mysql的哪个库。
现在分析下常用元数据中表有什么关联关系
1、hive版本的元数据表(version)
如果该表出现问题,根本进入不了Hive-Cli。
比如该表不存在,当启动Hive-Cli时候,就会报错”Table ‘hive.version’ doesn’t exist”。
2、hive数据库相关元数据表(DBS、DATABASE_PARAMS)
DBS:hive中所有数据库的基本信息
DATABASE_PARAMS:
空
3、hive 表和视图相关的元数据表
TBLS 存储 hive 表、视图、索引表的基本信息
TABLE_PARAMS 存储 表、视图 的属性信息
TBL_PRIVS
空
4、Hive 文件存储信息相关的元数据SDS、SD_PARAMS、SERDES、SERDE_PARAMS
SDS 存储文件存储的基本信息:
SD_PARAMS 空
从以上这些表中,可以看到这些表由几个关键字作为连接的:
DB_ID 、TBL_ID、SD_ID、CD_ID、SERDE_ID 、PART_ID
各表关系图【主键】: