数据仓库技术及应用(元数据)

一、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下退出exitCtrl+C

mysql -uroot -phadoop

进入Mysql中,然后 use hive;  --视hive-site.xml配置javax.jdo.option.ConnectionURL而定。

show tables;

性格是一种不治之症,当我永远爱自己啦~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>