如何转换.net日期时间.查询中的Hive DateTime为tick

本文关键字:查询 Hive DateTime tick 时间 日期 何转换 转换 net | 更新日期: 2023-09-27 17:51:05

我在DateTime中有一个列的日志文件。Ticks(635677577653488758),我试图将其转换为Hadoop Hive中的日期。

首先,我在MySql上尝试了下面的代码块,它工作了。但是相同的代码在Hive中不起作用,因为date_add函数与INT一起工作。

SELECT DATE_ADD('2001-01-01 00:00:00', INTERVAL (MAX(f.date) - 631139040000000000)/10 MICROSECOND);

然后我将它格式化成这样…

SELECT DATE_FORMAT(MyDateFromTicks, '%Y-%m-%dT%T.%fZ');

我怎样才能做到这一点?

谢谢。

如何转换.net日期时间.查询中的Hive DateTime为tick

我找到解决办法了。我把它写在这里,所以如果有人到这里可以检查答案:)

My Ticks: 635683895215023579

EPOCH Ticks: 621355968000000000

SELECT FROM_UNIXTIME(CAST((635683895215023579 - 621355968000000000)/10000000 as BIGINT),'yyyy-MM-dd''T''HH:mm:ss.SSSZ');

用java写一个UDF ..使用SimpleDateFormat类将数据转换为日期