我创建和在HIVE插入表格,并且文件被上HDFS创建和一些外部存储S3蜂房-where是表的存储信息
假设如果我创建了一个10个表,是有在任何系统表配置单元,我可以找到用户创建的表信息? (例如像Teradata的,我们有DBC.tablesv持有的所有用户定义的表的信息)
我创建和在HIVE插入表格,并且文件被上HDFS创建和一些外部存储S3蜂房-where是表的存储信息
假设如果我创建了一个10个表,是有在任何系统表配置单元,我可以找到用户创建的表信息? (例如像Teradata的,我们有DBC.tablesv持有的所有用户定义的表的信息)
您不能查询(如SELECT ... FROM ...)元数据从内部蜂巢。
但是,您确实有显示该信息的配合,例如show databases
,show tables
,desc MyTable
等
您可以找到metastore配置为位于hive-site.xml文件中的位置。
其通常位置位于/ etc/hive/{$ hadoop_version} /或/ etc/hive/conf /下。
grep for“hive.metastore.uris”或“javax.jdo.option.ConnectionURL”查看您用于Metastore的数据库。证书也应该在那里。
如果,例如,您metastore是一个MySQL服务器上,你可以像
SELECT * FROM TBLS;
SELECT * FROM PARTITIONS;
运行查询等
我不知道我的理解100%你的问题,如果你指的是信息有关创建表,如查询本身,对HDFS,表格属性等的位置,你可以尝试用:
SHOW CREATE TABLE <table>;
如果需要检索的列名的列表和数据类型尝试:
DESCRIBE <table>;
我确实发现“Hive表和分区的所有元数据都是通过Hive Metastore访问的。元数据持久使用JPOX ORM解决方案(Data Nucleus),因此Hive可以使用它支持的任何数据库。大多数商业关系数据库和许多开源数据库都支持“是否有其他方法? –