一、Hive元数据的概念及存储方式
1.元数据是描述真实数据的数据
包括Hive表的数据库名、表名、字段名与类型等。
2.Hive元数据存储在RDBMS中,有三种存储模式
(1)单用户模式,使用内置Derby数据库。
元数据存储在Derby数据库,是默认的存储方式
单用户存储模式优缺点
优点:Derby小巧易用,安装方便
缺点:
- 在同一数据库目录下只能有一个Hive客户端使用
- 无法实现元数据共享
单用户存储模式适合在测试环境中使用。
(2)多用户模式,使用本地MySQL数据库。
元数据存储在MySQL数据库,是开发中经常使用的存储模式
多用户模式存储的配置 配置MySQL
#创建对应的hive用户
create user ‘hive’@’%’ identified by ‘hive’;
grant all privileges on *.* to ‘hive’@’%’ with grant option;
flush privileges;
#查看MySQL的所有用户情况
select host,user,password FROM mysql.user;
配置hive-site.xml
#关键属性配置
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://MYSQL-HOST:3306/hive?createDatabaseifNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
(3)远程服务模式,使用远程元数据服务访问数据库。
单独开启metastore服务,通过metastore服务访问元数据库(如MySQL)
配置启动远程服务模式
#启动命令,-p用于监听端口,默认端口为9083,可省略
$ hive –service metastore –p 9083
#检查元数据服务是否启动成功命令
$ netstat –anp | grep 9083
#在hive-site.xml文件中可配置多个metastore
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.9.80:9083, thrift://192.168.9.80:9084</value>
</property>
二、Hive主要元数据表介绍
| 元数据表名(MySQL hive数据库中) | 说明 |
| VERSION | 存储Hive版本 |
| DBS、DATABASE_PARAMS | 存储与Hive数据库相关信息 |
| TBLS、TABLE_PARAMS、TBL_PRIVS | 存储Hive表相关信息 |
| SDS、SD_PARAMS、SERDES、SERDES_PARAMS | 存储Hive文件存储相关信息 |
| PARTITIONS、PATITION_KEYS、PARTITION_KEY_VALS、PARTITON_PARAMS | 存储分区相关信息 |
| COLUMNS_V2 | 存储表对应的字段信息 |
| CDS | 记录Columns_v2中所有的CD_ID |
| DB_PRIVS | 数据库权限信息表 |
| IDXS | 索引表 |
| TBL_COL_STATS | 表字段统计信息 |
| TBL_COL_PRIVS | 表字段授权信息 |
| PART_PRIVS | 分区授权信息 |
进入MYSQL,输入以下命令:
注意在hive下,退出(exit或Ctrl+C)
mysql -uroot -phadoop
进入Mysql中,然后 use hive; --视hive-site.xml配置javax.jdo.option.ConnectionURL而定。
show tables;
性格是一种不治之症,当我永远爱自己啦~
&spm=1001.2101.3001.5002&articleId=139150271&d=1&t=3&u=080ee37b96594d0aa709faa16ea31a02)
988

被折叠的 条评论
为什么被折叠?



