如何在hive和impala中找到以秒和毫秒为单位的两个时间戳之间的时间差

7vhp5slm  于 2023-10-18  发布在  Hive
关注(0)|答案(1)|浏览(229)

需要一个帮助,在找到两个时间戳之间的时间差在Hive和 Impala 的秒和毫秒。我们正在使用CDP群集。两列为字符串数据类型,值格式为yyyy-MM-dd 'T'HH:mm:ss。SSS
| T1| T2|
| --|--|
| 2023-01-26T04:01:49.010| 2023-01-26T04:01:47.863|
| 2023-01-26T04:01:48.999| 2023-01-25T04:01:47.001|
我尝试了“https://stackoverflow.com/questions/35329652/hive-timestamp-differences-in-milliseconds”,但在此毫秒被忽略或错过,所以它没有给出准确的结果。请帮

siotufzp

siotufzp1#

要提取Unix时间戳,可以使用unix_timestampFROM_UNIXTIME函数。您需要确保格式为yyyy-MM-dd HH:mm:ss.SSS

  1. SELECT
  2. t1,
  3. t2,
  4. CAST(t1 AS TIMESTAMP) AS timestamp1,
  5. CAST(t2 AS TIMESTAMP) AS timestamp2,
  6. FROM_UNIXTIME(UNIX_TIMESTAMP(timestamp2) - UNIX_TIMESTAMP(timestamp1), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS') AS time_diff_milliseconds
  7. FROM your_table;

相关问题