【问题标题】:Impala: list all tables and their created dates in a databaseImpala:列出数据库中的所有表及其创建日期
【发布时间】: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

非常感谢!

【问题讨论】:

    标签: database impala


    【解决方案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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-10
        • 1970-01-01
        相关资源
        最近更新 更多