Impala:在数据库中列出所有表及其创建的日期

时间:2016-11-10 21:06:26

标签: database impala

在Impala中,是否可以列出给定数据库中的所有表以及每个表的创建日期?类似的东西:

my_database

TABLE     CREATED_DATE
-----------------------
table_1   2016-01-01
table_2   2016-02-12
table_3   2016-05-03

非常感谢!

2 个答案:

答案 0 :(得分:2)

我不认为有一个特定的命令来做你要求的事情:

我们通常做的是列出给定数据库中的所有表:

show tables in db_name

然后对于我们运行的每个表:

show create table table_name

寻找有利的transient_lastDdlTime' =' 1479222568'它显示了创建时间的时间戳。您必须将其更改为可读日期"。

您可以在python脚本上轻松完成此操作,安装pyodbc软件包和cloudera Impala ODBC驱动程序。

答案 1 :(得分:1)

这实际上很容易,但是却很庞大。通过直接对Hive元存储库的READONLY访问(这可能会导致可能影响impala和hive性能的额外负载),您可以直接查询表属性。

Metastore可能建立在许多不同的数据库上-我相信mysql和postgres都是两个选择。这是我基于Postgres的Metastore中的示例。

select "TBL_NAME", "CREATE_TIME" from "TBLS" limit 10;