我有2个时间戳列存储在一个hdfs中,我可以通过 Impala ,Hive等访问。。。
我需要比较的时间戳可能如下所示:
2014-04-08 00:23:21.687000000
2014-04-08 00:23:21.620000000
以毫秒为单位的差异,并且需要构建一个新列,该列在本例中的值应为0.067000
我试过使用 Impala 的内置时间函数,但没有一个能成功。我试过:
将字符串强制转换为时间戳,然后减去2个值。这将返回错误“analysisexception:算术运算需要数字操作数”
使用unix\u timestamp函数。这会将值截断为表示秒的int,因此子秒值将丢失。
1条答案
按热度按时间yeotifhr1#
写这个问题的时候我找到了答案:)
方法是使用双重石膏。
cast(将时间戳转换为时间戳)转换为double)
这使得时间戳成为一个数字,而不截断次秒值。
一旦到了那里,它就变成了一个微不足道的算术运算。