2016-11-23 78 views
1

我創建和在HIVE插入表格,並且文件被上HDFS創建和一些外部存儲S3蜂房-where是表的存儲信息

假設如果我創建了一個10個表,是有在任何系統表配置單元,我可以找到用戶創建的表信息? (例如像Teradata的,我們有DBC.tablesv持有的所有用戶定義的表的信息)

+0

我確實發現「Hive表和分區的所有元數據都是通過Hive Metastore訪問的。元數據持久使用JPOX ORM解決方案(Data Nucleus),因此Hive可以使用它支持的任何數據庫。大多數商業關係數據庫和許多開源數據庫都支持「是否有其他方法? –

回答

0

您不能查詢(如SELECT ... FROM ...)元數據從內部蜂巢。
但是,您確實有顯示該信息的配合,例如show databases,show tables,desc MyTable

1

您可以找到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;
運行查詢等

0

我不知道我的理解100%你的問題,如果你指的是信息有關創建表,如查詢本身,對HDFS,表格屬性等的位置,你可以嘗試用:

SHOW CREATE TABLE <table>; 

如果需要檢索的列名的列表和數據類型嘗試:

DESCRIBE <table>;