sql – 如何在Hive中记录created_at和updated_at时间戳?
|
MySQL can automatically record created_at and updated_at timestamps. Hive是否提供类似的机制?如果没有,那么实现此功能的最佳方法是什么? 解决方法Hive不提供这样的机制.您可以通过在select:from_unixtime(unix_timestamp())中使用UDF作为created_at来实现此目的.请注意,这将在每个映射器或缩减器中执行,并可能返回不同的值.如果所有数据集都需要相同的值(对于1.2.0之前的Hive版本),请将变量传递给脚本并在其中使用:’${hiveconf:created_at}’as created_at更新:current_timestamp返回查询评估开始时的当前时间戳(从Hive 1.2.0开始).同一查询中的current_timestamp的所有调用都返回相同的值. unix_timestamp()以秒为单位获取当前的Unix时间戳.此函数是非确定性的,并且阻止了对查询的正确优化 – 自2.0以来,这已被弃用,而有利于CURRENT_TIMESTAMP常量.所以,它不是一个功能,它是一个常数! 对于配置单元查询,当您重写表或分区或插入时,最好使用CURRENT_TIMESTAMP,因为无论如何都要重写所有文件,而不是记录,因此created_at时间戳应该相同. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql – 什么时候参照完整性不合适?
- sql – 截断日期到会计年度
- sql-server-2008 – 长列如何影响性能和磁盘使用?
- 参考sql2012存储过程写的统计所有用户表尺寸大小的示例
- SQL Server sql 查询结果合并union all用法
- sql-server – 如何有效地存储和查询十亿行传感器数据
- sqlserver 修改列名及表名的sql语句
- sql-server – 与BitConverter.ToInt64值不同的SQL Server
- sql-server – SQL Server和Oracle,哪个在扩展性方面更好?
- sql-server – 我应该创建使用数据库图表所需的支持对象吗?
