【问题标题】:How can I find last modified timestamp for a table in Hive?如何在 Hive 中找到表的最后修改时间戳?
【发布时间】:2017-05-19 00:51:19
【问题描述】:

我正在尝试获取 Hive 中表的最后修改时间戳。

【问题讨论】:

  • “最后修改的时间戳”是什么意思?那是一些元数据信息,即运行最后一个 ALTER 命令的时间?还是一些数据,即包含Timestamp 类型的列之一?

标签: hive timestamp last-modified


【解决方案1】:

请使用以下命令:

show TBLPROPERTIES table_name ('transient_lastDdlTime');

【讨论】:

  • 这显示的是“创建时间”还是上次修改表的时间?
  • 不幸的是,这显示了表的创建时间。
【解决方案2】:

从 Hive 表中获取 transient_lastDdlTime。

SHOW CREATE TABLE table_name;

然后将transient_lastDdlTime复制粘贴到下面的查询中以获取时间戳的值。

SELECT CAST(from_unixtime(your_transient_lastDdlTime_value) AS timestamp);

【讨论】:

  • 这给出了创建时间而不是最后修改时间。
【解决方案3】:

在上述答案的帮助下,我为即将到来的开发人员创建了一个简单的解决方案。

time_column=`beeline --hivevar db=hiveDatabase --hivevar tab=hiveTable --silent=true --showHeader=false --outputformat=tsv2 -e 'show create table ${db}.${tab}' | egrep 'transient_lastDdlTime'`
time_value=`echo $time_column | sed 's/[|,)]//g' | awk -F '=' '{print $2}' | sed "s/'//g"`
tran_date=`date -d @$time_value +'%Y-%m-%d %H:%M:%S'`
echo $tran_date

我使用直线别名。确保正确设置别名并调用上述脚本。如果没有使用别名,则通过替换上面的 beeline 来使用完整的 beeline 命令(带有 jdbc 连接)。如果有任何问题,请在评论中留言。

【讨论】:

    【解决方案4】:

    这里已经有一个关于如何查看配置单元表的最后修改日期的答案。我只是在分享如何检查配置单元表分区的最后修改日期。

    1. 连接到 hive 集群以运行 hive 查询。在大多数情况下,您可以通过运行 hive 命令简单地连接:hive

    2. DESCRIBE FORMATTED <database>.<table_name> PARTITION(<partition_column>=<partition_value>);

    3. 在回复中你会看到类似这样的内容:transient_lastDdlTime 1631640957

    4. SELECT CAST(from_unixtime(1631640957) AS timestamp);

    【讨论】:

      【解决方案5】:

      你可以通过执行得到时间戳

      describe formatted table_name
      

      【讨论】:

        【解决方案6】:

        您可以执行以下命令并将transient_lastDdlTime 的输出从时间戳转换为日期。
        它将给出表格的最后修改时间戳。

        show create table TABLE_NAME;
        

        【讨论】:

          【解决方案7】:

          如果您使用 mysql 作为元数据,请使用以下...

          select TABLE_NAME, UPDATE_TIME, TABLE_SCHEMA from TABLES where TABLE_SCHEMA = 'employees';
          

          【讨论】:

            猜你喜欢
            • 2015-09-06
            • 2012-10-29
            • 2020-02-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-02-24
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多