如何转换.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');
我怎样才能做到这一点?
谢谢。
我找到解决办法了。我把它写在这里,所以如果有人到这里可以检查答案:)
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类将数据转换为日期