MySQL can automatically record created_at and updated_at timestamps. Hive是否提供类似的机制?如果不是,那么实现此功能的最佳方式是什么?如何在Hive中记录created_at和updated_at时间戳?
2
A
回答
2
Hive不提供这样的机制。您可以通过在您的选择中使用UDF来实现此目的:from_unixtime(unix_timestamp()) as created_at
。请注意,这将在每个映射器或缩减器中执行,并可能返回不同的值。如果你需要的所有数据集相同的值(1.2.0之前版本巢),变量传递给脚本,并用它作为内部:'${hiveconf:created_at}' as created_at
更新:current_timestamp
在开始返回当前时间戳查询评估(截至Hive 1.2.0)。同一查询中current_timestamp的所有调用返回相同的值。 unix_timestamp()
以秒为单位获取当前的Unix时间戳。这个函数是非确定性的,并且阻止查询的正确优化 - 自2.0开始,这个函数已经被弃用了,并且支持CURRENT_TIMESTAMP常量。所以,这不是一个功能,它是一个常数! 看到这个文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
对于蜂巢查询时,重写表或分区或插入,因为所有的文件(S)反正都被改写,没有记录,所以created_at
时间戳应该是一样的CURRENT_TIMESTAMP是优选的。
相关问题
- 1. Realm created_at&updated_at时间戳
- 2. 返回created_at和updated_at作为API(Laravel 5)中的时间戳
- 3. 如何在我的模型中使用SORM包含时间戳(created_at和updated_at)?
- 4. Rails时间戳使用int(unixtime)而不是DATETIME for updated_at和created_at
- 5. 为什么迁移没有时间戳时会创建created_at/updated_at?
- 6. Rails时间戳:复杂的order by updated_at/created_at
- 7. Rails的时间戳:updated_on/created_on与created_at /的updated_at
- 8. ActiveRecord:检索updated_at在created_at后24小时或更长时间的所有记录
- 9. 何时设置了“created_at”和“updated_at”?
- 10. Rails在created_at和updated_at中插入无效的日期时间
- 11. 如何在一组记录上有效检查updated_at和created_at相等
- 12. 按照created_at和updated_at的顺序选择记录两次
- 13. Rails 5 - created_at和updated_at类
- 14. 如何在使用ActiveModel :: Serializer时隐藏created_at和updated_at
- 15. 如何获得created_at和updated_at之间的秒差
- 16. Rails的迁移产生缺省时间戳(created_at,的updated_at)为可为空
- 17. 微created_at时间戳比较它在PHP
- 18. 如何按时间戳过滤记录
- 19. Hive:如何转换毫秒时间戳?
- 20. Twitter created_at在ruby中unix时间戳的时间
- 21. JAX-WS记录和时间戳
- 22. 拆分时间戳记录
- 23. 将时间戳插入Hive
- 24. 如何用php和mysql中的unix时间戳记录记录月份组。
- 25. 订购`updated_at`和`created_at`即使是NULL
- 26. RoR - Model.all,但没有created_at和updated_at字段
- 27. 雄辩同步和created_at /的updated_at
- 28. updated_at = created_at不起作用
- 29. 如何记录Avcapture记录的确切时间戳?
- 30. 如何选择带时间戳记录的记录?
如果我使用'current_timestamp()'而不是'unix_timestamp()',那么每个mapper/reducer的值会不会改变? –
不会改变。该文档说current_timestamp 返回查询评估开始时的当前时间戳(从Hive 1.2.0开始)。同一查询中current_timestamp的所有调用返回相同的值。感谢这个问题。我将相应地更改我的答案 – leftjoin
因为我已经迁移到1.2.1版本,所以我会将此功能应用于我的所有代码。再次感谢这个问题 – leftjoin