Hive 查看 MetaStore 数据库的信息

Hive 的元信息存储在 mysql 数据库里。我们可以在 hive 数据库里,做一个映射,把存储 Hive 元信息的数据库,映射为 hive 的 sys 数据库。就像 mysql 的 sys 数据库存储所有的数据库和表一样。

hive-site.xml

首先,hive-site.xml 里已经设置好连接 mysql 的用户名,密码和 url。然后要增加以下内容

<property>
  <name>hive.metastore.db.type</name>
  <value>MYSQL</value>
  <description>
    Expects one of [derby, oracle, mysql, mssql, postgres].
    Type of database used by the metastore. Information schema &amp; JDBCStorageHandler depend on it.
  </description>
</property>

然后执行以下命令在 hive 中生成 sys 数据库:

${HIVE_HOME}/bin/schematool -dbType hive -metaDbType mysql -initSchema

然后可以进入 hive 环境,查看 hive 的元信息,不用进入到 mysql 中了。

查看 sys 表中的定义

use sys;
hive> show create table tbls;
OK
CREATE EXTERNAL TABLE `tbls`(
  `tbl_id` bigint COMMENT 'from deserializer', 
  `create_time` int COMMENT 'from deserializer', 
  `db_id` bigint COMMENT 'from deserializer', 
  `last_access_time` int COMMENT 'from deserializer', 
  `owner` string COMMENT 'from deserializer', 
  `retention` int COMMENT 'from deserializer', 
  `sd_id` bigint COMMENT 'from deserializer', 
  `tbl_name` string COMMENT 'from deserializer', 
  `tbl_type` string COMMENT 'from deserializer', 
  `view_expanded_text` string COMMENT 'from deserializer', 
  `view_original_text` string COMMENT 'from deserializer', 
  `is_rewrite_enabled` boolean COMMENT 'from deserializer')
ROW FORMAT SERDE 
  'org.apache.hive.storage.jdbc.JdbcSerDe' 
STORED BY 
  'org.apache.hive.storage.jdbc.JdbcStorageHandler' 
WITH SERDEPROPERTIES ( 
  'serialization.format'='1')
TBLPROPERTIES (
  'bucketing_version'='2', 
  'hive.sql.database.type'='METASTORE', 
  'hive.sql.query'='SELECT `TBL_ID`, `CREATE_TIME`, `DB_ID`, `LAST_ACCESS_TIME`, `OWNER`, `RETENTION`, `SD_ID`, `TBL_NAME`, `TBL_TYPE`, `VIEW_EXPANDED_TEXT`, `VIEW_ORIGINAL_TEXT`, `IS_REWRITE_ENABLED` FROM `TBLS`', 
  'transient_lastDdlTime'='1642735432')

‘hive.sql.database.type’=‘METASETORE’ 是有特殊含义的,指连接 metastore 后端数据库,用户名,密码,url,driver 都用 MetaStore 的配置,不用重输一遍。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值