查询Hive Meta Store

时间:2016-01-26 00:43:03

标签: hadoop hive

我想知道如何查询hive Metastore数据库并获取一些关键属性,包括:

  • 创建日期
  • 上次更新日期
  • 上次访问日期

我刚刚学会了一个hive命令show table extend like <tablename>

0   tableName:<tablename>
1   owner:<userid>
2   location:hdfs://NameService-705/user/hive/warehouse/<username>.db/<tablename>
3   inputformat:org.apache.hadoop.mapred.TextInputFormat
4   outputformat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
5   columns:struct columns { i64 ingestts, i64 ingestdate .... map<string,string> params}
6   partitioned:false
7   partitionColumns:
8   totalNumberFiles:1
9   totalFileSize:0
10  maxFileSize:0
11  minFileSize:0
12  lastAccessTime:1453767099408   ->  Mon Jan 25 2016 17:11:39 GMT-0700 (MST)
13  lastUpdateTime:1432218969243   ->  Thu May 21 2015 08:36:09 GMT-0600 (MDT)

我知道field0,1,12和13正是这些信息,我想知道如何查询hive元存储来直接获取这些信息而不是运行show table extend一千次。类似的东西:

select tableName, owner, lastAccessTime, lastUpdateTime from <metatable>

谢谢!

2 个答案:

答案 0 :(得分:0)

select TBL_NAME, OWNER, CREATE_TIME, LAST_ACCESS_TIM
from TBLS
limit 11; 

答案 1 :(得分:0)

从Java代码中,您可以直接查询Hive Metastore - 参见JavaDoc

或者,如果您喜欢快速和肮脏的技巧,您可以连接到Metastore数据库(通常是MySQL实例)并直接针对它运行一些SQL查询。遗憾的是,没有太多关于数据模型的公开文档。