表信息存储在哪里

woobm2wo  于 2021-06-28  发布在  Hive
关注(0)|答案(3)|浏览(379)

我正在hive中创建和插入表,这些文件是在hdfs上创建的,有些是在外部存储器s3上创建的
假设我创建了10个表,那么在hive中是否有系统表可以找到用户创建的表信息(例如,与teradata一样,我们有dbc.tablesv,它保存所有用户定义表的信息)

hm2xizp9

hm2xizp91#

您不能查询(如在选择。。。从…)配置单元中的元数据。
但是,您确实有显示该信息的命令,例如。 show databases , show tables , desc MyTable 等。

atmip9wb

atmip9wb2#

我不确定我100%地理解了您的问题,如果您是指有关创建表的信息,如查询本身、hdfs上的位置、表属性等,您可以尝试:

SHOW CREATE TABLE <table>;

如果需要检索列名称和数据类型的列表,请尝试:

DESCRIBE <table>;
n9vozmp4

n9vozmp43#

您可以在hive-site.xml文件中找到元存储的配置位置。
它通常位于/etc/hive/{$hadoop\u version}/或/etc/hive/conf/下。
grep for“hive.metastore.uris”或“javax.jdo.option.connectionurl”,查看您正在为metastore使用哪个db。证书也应该在那里。
例如,如果您的metastore位于mysql服务器上,则可以运行如下查询
SELECT * FROM TBLS; SELECT * FROM PARTITIONS;

相关问题