Teradata具有lastaltertimestamp
的概念,这是在表上执行alter table
命令的最后一次。可以查询lastaltertimestamp
。 Hive是否具有可以查询的类似值?
hdfs dfs -ls /my/hive/file
返回的时间戳不反映alter table
个命令,因此alter table
不得修改支持Hive文件的文件。 describe formatted
也没有提供最后更改时间戳。
感谢
答案 0 :(得分:2)
Hive将元数据存储到数据库中,因此永远不会修改文件。
AFAIK唯一在HIVE中跟踪的时间戳是transient_lastDdlTime
。
创建表时,它是创建表时的时间戳。 当任何DDL完成时,它是它花费的最后一次DDL时间
您仍然可以将自定义属性添加到表格中,以便跟踪您想要的任何内容。
答案 1 :(得分:1)
“transient_lastDdlTime”是告诉Hive表的最后更改时间的属性。为了获取此信息以及Hive表的其他元数据,您可以运行以下查询:
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_lastDdlTime采用纪元格式。