Hive 配置单元-如何查看在metastore中创建的表?

Hive 配置单元-如何查看在metastore中创建的表?,hive,Hive,这是我们的设置- 我们的Hive在另一台机器上使用MySQL作为元存储。 我可以启动配置单元命令行shell,创建一个表并对其进行描述。 但是当我登录到另一台使用MySQL作为元存储的机器时,我看不到MySQL上的配置单元表详细信息 e、 下面是蜂巢命令- hive> create table student(name STRING, id INT); OK Time taken: 7.464 seconds hive> describe student; OK name st

这是我们的设置- 我们的Hive在另一台机器上使用MySQL作为元存储。 我可以启动配置单元命令行shell,创建一个表并对其进行描述。 但是当我登录到另一台使用MySQL作为元存储的机器时,我看不到MySQL上的配置单元表详细信息

e、 下面是蜂巢命令-

hive> create table student(name STRING, id INT);
OK
Time taken: 7.464 seconds
hive> describe student;
OK
name    string
id      int
Time taken: 0.408 seconds
hive>
接下来,我登录到安装MySQL的机器,并将此MySQL用作配置单元元存储。我使用metastore数据库。但是如果我想列出这些表,我就看不到我在配置单元中创建的表或表信息


如何在metastore中查看配置单元表信息?

首先,查找metastore存储在哪个MySql数据库中。这将出现在您的hive-site.conf-connection URL中。然后,一旦你连接到MySql,你就可以

use metastore; 
show tables; 
select * from TBLS; <-- this will give you list of your hive tables

如果要搜索特定列所属的其他表,另一个有用的查询是:

选择c.column\u name、tbl\u name、c.comment、c.type\u name、c.integer\u idx、, tbl_id、创建时间、所有者、保留期、t.sd_id、tbl_类型、输入格式、是否压缩、位置、, num_bucket、output_格式、serde_id、s.cd_id 来自TBLS t、SDS s、c列 -其中tbl_name='my_table' 其中t.SD_ID=s.SD_ID s.cd_id=c.cd_id c.column\u name='my\u col' 按创建时间排序
您可以在MySQL数据库中查询metastore模式。比如:

mysql>从TBLS中选择*


有关如何配置MySQL metastore以存储配置单元的元数据以及验证和查看存储的元数据的更多详细信息。

*在设置Hadoop服务时,其他任何服务都是必需的。这也是必须的,管理员在大多数情况下使用关系数据库来存储配置单元和oozie等服务的元数据信息

因此,找到您的配置单元备份的数据库MySQL、postgresql、sqlserver等,您可以在TBLS表中看到元数据信息*

升级配置单元时,您必须备份这些TBL