如何从配置单元表中获取lastaltertimestamp?

qnyhuwrf  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(382)

teradata的概念是 lastaltertimestamp ,这是 alter table 命令在表上执行。 lastaltertimestamp 可以查询。配置单元是否具有可以查询的类似值?
返回的时间戳 hdfs dfs -ls /my/hive/file 不反映 alter table 命令,所以 alter table 不能修改支持配置单元文件的文件。 describe formatted 也不提供最后的alter时间戳。谢谢

bwntbbo3

bwntbbo31#

“transient_lastdldltime”是说明配置单元表最后更改时间的属性。为了将其与配置单元表的其他元数据一起提取,可以运行以下查询:

describe formatted <table_name>;

这将输出:

Database:               xxxxxxxxx
Owner:                  xxxxxxxxx
CreateTime:             Tue Jan xx 06:58:21 IST xxxx
LastAccessTime:         UNKNOWN
Retention:              0
Location:               xxxxxxxxx
Table Type:             xxxxxxxxx
Table Parameters:   
    numFiles                xxxxxxxxx
    numRows                 xxxxxxxxx
    rawDataSize             xxxxxxxxx
    totalSize               xxxxxxxxx
    transient_lastDdlTime   1517424154

# Storage Information

SerDe Library:          xxxxxxxxx
InputFormat:            xxxxxxxxx
OutputFormat:           xxxxxxxxx
Compressed:             xxxxxxxxx
Num Buckets:            xxxxxxxxx
Bucket Columns:         xxxxxxxxx
Sort Columns:           xxxxxxxxx
Storage Desc Params:
    serialization.format    xxxxxxxxx

输出的 transient 时间是epoch格式。

ss2ws0br

ss2ws0br2#

配置单元将元数据存储到数据库中,因此文件永远不会被修改。在Hive中唯一被跟踪的时间戳是 transient_lastDdlTime .
创建表时,它是创建表时的时间戳。任何ddl完成时,都是最后一次ddl
您仍然可以将自定义属性添加到表中,以便跟踪所需的任何内容。

相关问题