Impala:列出数据库中的所有表及其创建日期
Posted
技术标签:
【中文标题】Impala:列出数据库中的所有表及其创建日期【英文标题】:Impala: list all tables and their created dates in a database 【发布时间】:2016-11-10 21:06:26 【问题描述】:在 Impala 中,是否可以列出给定数据库中的所有表以及每个表的创建日期?比如:
在my_database
:
TABLE CREATED_DATE
-----------------------
table_1 2016-01-01
table_2 2016-02-12
table_3 2016-05-03
非常感谢!
【问题讨论】:
【参考方案1】:我认为没有特定的命令可以执行您的要求:
我们通常做的是列出给定数据库中的所有表:
show tables in db_name
那么对于我们运行的每个表:
show create table table_name
查找显示创建时间时间戳的属性 transient_lastDdlTime'='1479222568'。您必须将其更改为“可读日期”。
您可以在 python 脚本上轻松完成此操作,安装 pyodbc 包和 cloudera Impala ODBC 驱动程序。
【讨论】:
【参考方案2】:这实际上是非常简单的一个巨大的但是。通过对 Hive 元存储的直接 READONLY 访问 - 这可能会导致可能影响 impala 和 hive 性能的额外负载 - 您可以直接查询表属性。
元存储可能建立在许多不同的数据库上——我相信 mysql 和 postgres 都是选项。这是我基于 postgres 的 Metastore 的一个示例。
select "TBL_NAME", "CREATE_TIME" from "TBLS" limit 10;
【讨论】:
以上是关于Impala:列出数据库中的所有表及其创建日期的主要内容,如果未能解决你的问题,请参考以下文章