我正在尝试获取配置单元中表的最后修改的时间戳。
baubqpgj1#
从你的Hive表中获取短暂的\u lastdltime。
SHOW CREATE TABLE table_name;
然后在下面的查询中复制粘贴临时的\u lastdldltime以获得时间戳值。
SELECT CAST(from_unixtime(your_transient_lastDdlTime_value) AS timestamp);
ubbxdtey2#
请使用以下命令:
show TBLPROPERTIES table_name ('transient_lastDdlTime');
kmbjn2e33#
您可以通过执行
describe formatted table_name
tjrkku2a4#
您可以执行以下命令并转换 transient_lastDdlTime 从时间戳到日期。它将给出表的最后修改的时间戳。
transient_lastDdlTime
show create table TABLE_NAME;
sulc1iza5#
如果您使用mysql作为元数据,请使用以下内容。。。
select TABLE_NAME, UPDATE_TIME, TABLE_SCHEMA from TABLES where TABLE_SCHEMA = 'employees';
6ss1mwsb6#
在上述答案的帮助下,我为即将到来的开发人员创建了一个简单的解决方案。
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
我用的是直线别名。确保正确设置alias并调用上述脚本。如果没有使用别名,则使用完整的beeline命令(使用jdbc连接)替换上面的beeline。如果有问题,请在评论中留下问题。
6条答案
按热度按时间baubqpgj1#
从你的Hive表中获取短暂的\u lastdltime。
然后在下面的查询中复制粘贴临时的\u lastdldltime以获得时间戳值。
ubbxdtey2#
请使用以下命令:
kmbjn2e33#
您可以通过执行
tjrkku2a4#
您可以执行以下命令并转换
transient_lastDdlTime
从时间戳到日期。它将给出表的最后修改的时间戳。
sulc1iza5#
如果您使用mysql作为元数据,请使用以下内容。。。
6ss1mwsb6#
在上述答案的帮助下,我为即将到来的开发人员创建了一个简单的解决方案。
我用的是直线别名。确保正确设置alias并调用上述脚本。如果没有使用别名,则使用完整的beeline命令(使用jdbc连接)替换上面的beeline。如果有问题,请在评论中留下问题。