比较HDFS

时间:2015-11-02 16:02:16

标签: hadoop timestamp hdfs impala

我有2个时间戳列存储在HDFS中,我可以通过Impala,hive等访问...

我需要比较的时间戳可能如下所示:

2014-04-08 00:23:21.687000000

2014-04-08 00:23:21.620000000

存在毫秒差异,需要构建一个新列,在此示例中应该具有值0.067000

我尝试过使用黑斑羚built in time functions,但似乎没有一个能够进行切割。 我试过了:

  1. 将字符串转换为时间戳,然后减去2个值。这将返回错误“AnalysisException:算术运算需要数字操作数”
  2. 使用unix_timestamp函数。这会将值截断为表示秒的int,因此会丢失亚秒值。

1 个答案:

答案 0 :(得分:2)

写这个问题的时候我找到了答案:)

这样做的方法是使用双重演员。

将(cast(time_stamp)作为时间戳)转换为double)

这使得times_stamp成为一个数字而不截断亚秒值。

在那里它变成了一个简单的算术运算。