我正在hive中创建和插入表,这些文件是在hdfs上创建的,有些是在外部存储器s3上创建的假设我创建了10个表,那么在hive中是否有系统表可以找到用户创建的表信息(例如,与teradata一样,我们有dbc.tablesv,它保存所有用户定义表的信息)
hm2xizp91#
您不能查询(如在选择。。。从…)配置单元中的元数据。但是,您确实有显示该信息的命令,例如。 show databases , show tables , desc MyTable 等。
show databases
show tables
desc MyTable
atmip9wb2#
我不确定我100%地理解了您的问题,如果您是指有关创建表的信息,如查询本身、hdfs上的位置、表属性等,您可以尝试:
SHOW CREATE TABLE <table>;
如果需要检索列名称和数据类型的列表,请尝试:
DESCRIBE <table>;
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; 等
SELECT * FROM PARTITIONS;
3条答案
按热度按时间hm2xizp91#
您不能查询(如在选择。。。从…)配置单元中的元数据。
但是,您确实有显示该信息的命令,例如。
show databases
,show tables
,desc MyTable
等。atmip9wb2#
我不确定我100%地理解了您的问题,如果您是指有关创建表的信息,如查询本身、hdfs上的位置、表属性等,您可以尝试:
如果需要检索列名称和数据类型的列表,请尝试:
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;
等